Skip to content

Lightweight containerization service built in C++, designed to encapsulate Python-based environments for easier deployment and execution.

Notifications You must be signed in to change notification settings

AutumnIeaf/capsule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e35636 · Apr 26, 2024

History

30 Commits
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 25, 2024
Apr 26, 2024

Repository files navigation

Capsule - a lightweight C++ containerization service

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.

Table of Contents

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/AutumnIeaf/capsule.git
  2. Navigate to the project directory:

    cd capsule
  3. Build the project using the provided Makefile:

    make
  4. Ensure all necessary dependencies are installed. This project requires:

    • A C++ compiler (like g++ or clang++)

Usage

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.

Directory Structure

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.

Contributors

  • [PM, Developer] Kevin Ram
  • [Developer] Junkai Zheng
  • [Developer] Matthew Liang
  • [Developer] Ryan Ho

Contact information coming soon on completion of project.

About

Lightweight containerization service built in C++, designed to encapsulate Python-based environments for easier deployment and execution.

Topics

Resources

Stars

Watchers

Forks