Lightweight containerization service built in C++, designed to encapsulate Python-based environments for easier deployment and execution. Aims to provide a simplified version of Docker, with a focus on creating isolated execution environments without the additional overhead of networking and security features.
-
Clone the repository to your local machine:
git clone https://github.com/AutumnIeaf/capsule.git
-
Navigate to the project directory:
cd capsule
-
Build the project using the provided Makefile:
make
-
Ensure all necessary dependencies are installed. This project requires:
- A C++ compiler (like
g++
orclang++
)
- A C++ compiler (like
Once the project is built, you can use the CLI to perform various operations. Here's a brief overview of the available commands:
- Build: Create a capsule file from a set of Python files or other resources.
- Parse & Execute: Parse a capsule file and execute the contained code in a virtual environment.
- Display: Display information contained within a capsule file.
Here's the breakdown of the project's directory structure:
- /src: Contains the source code for the project.
- /containers: Code related to containerization.
- /parsers: Code related to parsing capsule files.
- /executors: Code for executing contained code.
- main.cpp: Main entry point for the CLI.
- capsule.cpp: Logic for handling capsule files.
- /tests: Contains unit and integration tests.
- /unit: Unit tests.
- /integration: Integration tests.
- /bin: Contains compiled binaries.
- /lib: Any external or custom libraries.
- /include: Additional header files.
- /config: Configuration files (e.g.,
.config
,.capsuleignore
). - /scripts: Scripts for building, running, or deploying the project.
- /docs: Project documentation and guides.
- /third_party: External dependencies or third-party libraries.
- /examples: Example scripts and usage scenarios.
- [PM, Developer] Kevin Ram
- [Developer] Junkai Zheng
- [Developer] Matthew Liang
- [Developer] Ryan Ho
Contact information coming soon on completion of project.