miniogre: generate Dockerfile, requirements.txt, and SBOM from project directory
Project description
Miniogre
Miniogre is a command-line application that analyzes a Python project codebase and README file to automatically generate a Dockerfile, requirements.txt file, and SBOM files. This tool expedites the process of dockerizing any Python application.
How it Works
Upon running the application, it carries out the following steps:
- The project directory is scrutinized to identify the primary code language.
- The README file is located and read.
- GPT-4 language model is used to predict the application dependencies and generate content for the
requirements.txt
file based on the README contents. - The
requirements.txt
,Dockerfile
, andsbom.json
files are created. - A Docker image of the application is built.
- An ogre container is spun up.
Two main commands can be run, with the miniogre/main.py
file serving as the entry point.
- run: Executes a series of actions, including configuring directories and files (bashrc, Dockerfile), generating requirements, building a Docker image, and spinning up a container.
- readme: Constructs a new
README.md
file that mirrors the operations observed within the source code.
For more in-depth execution details, refer to miniogre/main.py
,miniogre/actions.py
, and miniogre/config.py
.
Requirements
To use miniogre effectively, ensure the following are installed:
- Python 3: Miniogre is developed in Python. If it's not already installed, get Python here.
- Docker: Docker is a platform used to eliminate "works on my machine" problems when collaborating on code with co-workers. If it's not already installed, get Docker here.
- pip or pipx: These are python package installers used to install miniogre. If they are not already installed, get pipx here or pip here.
Usage
After installation, go inside the project folder and run:
miniogre run
This will analyze the project, generate ogre_dir/Dockerfile
, ogre_dir/requirements.txt
, and ogre_dir/sbom.json
and build a Docker image.
There are other commands:
readme
: Analyzes the source code to generate a newREADME.md
file that is compatible with what actually happens in the source code.
Installation
Miniogre can be installed either by using pip
or pipx
:
pip install miniogre
pipx install miniogre
Contributing
Contributions to improve this resource are more than welcome. For inquiries, contact the maintainers at contact@ogre.run.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file miniogre-0.1.0.tar.gz
.
File metadata
- Download URL: miniogre-0.1.0.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 741291ba10deed84c1fa112d1b88c33348c4b9848b049b50c9abc5adf8faba5d |
|
MD5 | 1d9c28fd94a4f4837998bea2b0fd1d9c |
|
BLAKE2b-256 | a96b1fae6e7cd49ead61482b1fcfb4f57452b9ce70b1d02d3b8cdaf1b10cf94c |
File details
Details for the file miniogre-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: miniogre-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d95ed5551988450bea906459b6a049b20b11ac6588dcf017308ca242b4022f8 |
|
MD5 | ee79c552fbf67a539c8f6d29f5dedb36 |
|
BLAKE2b-256 | fbe880010728181c0360c906f2f716b16d09bcac8d8da19cd2a39aebab795a92 |