A modular Python framework for backend, AI, and data projects
Project description
Minix
Minix is a lightweight backend framework tailored for building data-driven applications quickly and effectively. With its modular design and strong integration with modern tools, Minix empowers developers to create scalable and maintainable systems with minimal setup.
Key Features
- FastAPI Integration: Leverage the power of FastAPI for building highly efficient REST APIs.
- Celery Integration: Built-in support for distributed task queues using Celery.
- Database Support: Seamless database connectivity with SQLAlchemy and support for MySQL (via PyMySQL).
- Kafka Compatibility: Asynchronous Kafka message processing with
aiokafka. - Environment Management: Simplified environment configuration using
dotenv. - Cloud Ready: Enables integration with AWS services using
boto3. - Expandability: Optional AI tools with extras like PyTorch and MLflow for machine learning use cases.
Installation
First, make sure Python 3.12 or a newer version is installed. Then, install the package via pip:
pip install minix
If you are developing locally, you can install it in editable mode:
pip install -e .
Getting Started
1. Create Your Application
After installation, you can use the CLI to kickstart your project:
minix init your_project_name
This will generate a boilerplate folder structure for your data application.
2. Define Your Application Logic
Easily define and organize tasks, APIs, or other services. For example:
- API Routes: Using FastAPI, you can create and register endpoints effortlessly.
- Task Scheduling: Add Celery tasks for distributed job processing.
3. Run Your Services
Once your application is ready, you can execute services like the development server or workers:
# Start the FastAPI server
minix run
# Start Celery workers
minix runworker
Configuration
Minix uses environment variables for configuration management. You can define your settings in a .env file.
note that for other connectors you should add their respective environment variables as needed.
(example .env file)
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=db+mysql://root:rootpassword@mysql:3306/db_name
CELERY_RESULT_BACKEND=db+mysql://root:rootpassword@localhost:3306/db_name
Extras
AI Capabilities
To enable optional AI-related tools, install the package with the ai extra:
pip install "minix[ai]"
This will add support for tools like PyTorch and MLflow for machine learning.
Development Tools
For local development, optional dev tools like typer can be installed:
pip install "minix[dev]"
License
Minix is licensed under the MIT License. See the LICENSE file for more details.
Let me know if you’d like to add anything specific, like usage examples, advanced configurations, or badges!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file minix-0.1.18.tar.gz.
File metadata
- Download URL: minix-0.1.18.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fbfdf050935de2103d0e3420c459ed0b9799457022e03d2f02c4ba83e41a836
|
|
| MD5 |
f91c9268119c3237c7f18e2771d9df68
|
|
| BLAKE2b-256 |
84abd045a70728b1964506916da7e463b6d965934be03fc0bc8cd46f3e61fc1f
|
File details
Details for the file minix-0.1.18-py3-none-any.whl.
File metadata
- Download URL: minix-0.1.18-py3-none-any.whl
- Upload date:
- Size: 28.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/24.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8324b1601c36ae1d4a0ef2cc3b8450d45404af069a12c5ba250fedb93f832a6a
|
|
| MD5 |
745d0b9cf7973f10af54c8d304ecd35d
|
|
| BLAKE2b-256 |
af635e33041f33a114da9c5dd50fb2d96c7a0bcf94f44342f95656029ec7e5c4
|