Coder Social home page Coder Social logo

eteq / astrocontainer Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 30 KB

This is a cookiecutter template to easily create project-based containers for astronomy-related work (with a focus on a Python-based software stack).

Dockerfile 12.96% Shell 70.31% Python 16.74%

astrocontainer's Introduction

astrocontainer

This is a cookiecutter template to easily create project-based containers for astronomy-related work (with a focus on a Python-based software stack). While of general use, this template focuses particularly on a container layout that promotes replicability via defined software in the container while maintaining flexibility by keeping the project content (e.g. Python scripts, Jupyter notebooks, large data files) on a host directory.

To use this template, you must have cookiecutter installed. Then do:

% cookiecutter https://github.com/eteq/astrocontainer.git

And follow the prompts. Once this is done, go into the generated directory, update the requirements.txt with project-specific requirements, and then follow the instructions in the project directory README.

Container manager tool choice

When creating your project, this cookiecutter template gives three options for which kind of container tool to use (that is, the container_executable option): Docker, Podman, or containerexec_link. While the first two are specific tools, the last requires additional explanation: it configures the template so that container operations are run by whatever tool the containerexec_link file points to. The intend use here is for you to set that file to be a link to a specific tool - e.g. run ln -s /usr/bin/podman containerexec_link or ln -s /usr/bin/docker containerexec_link from the root of the project. This lets you easily switch between tools by just changing the symlink without needing to re-generate the cookiecutter template.

astrocontainer's People

Contributors

eteq avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.