Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minix-0.1.10.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

minix-0.1.10-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file minix-0.1.10.tar.gz.

File metadata

  • Download URL: minix-0.1.10.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/24.4.0

File hashes

Hashes for minix-0.1.10.tar.gz
Algorithm Hash digest
SHA256 2f0fcbcfef181a8144868a8089fbbb34c480ba3b25239110b1abfc679a26ea2e
MD5 0ab1c245de598fa336645fa71d1d9b67
BLAKE2b-256 97c0fcafb2b9a1cb857f1a8037a2246d3bc446f860e79b21525f01aa94bf6af7

See more details on using hashes here.

File details

Details for the file minix-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: minix-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 28.2 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

Hashes for minix-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e9cf77485b7392b8f984c86029275fe1a41b50b7b850d65a6d996f1e343a361f
MD5 3042e9b3b3d5145218f7af3115c65773
BLAKE2b-256 2da625aaeb3218db24c7db13ecfc0c6252c8e52712da18af9c0fc9afcc4ed5ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page