A monorepo for machine learning applications and tools focused on predictive modeling and solving complex problems.
predictsolver/
├── core/ # Core ML libraries and utilities
├── apps/ # Applications built with the core libraries
│ ├── sample_app.py # Sample Python application
│ └── dataapi/ # NestJS-based data API service
├── tools/ # Development and utility tools
└── docs/ # Documentation
- Python 3.8 or higher
- uv (Python package manager)
- pnpm (Node.js package manager for NestJS applications)
- Node.js 18.0.0 or higher (for NestJS applications)
-
Clone the repository:
git clone https://github.com/solmon/predictsolver.git cd predictsolver -
Install poethepoet if you don't have it:
uv pip install poethepoet -
Setup the environment and install all dependencies in one step:
poe setup-all
-
Clone the repository:
git clone https://github.com/solmon/predictsolver.git cd predictsolver -
Create and activate the virtual environment:
uv venv source .venv/bin/activate -
Install dependencies:
uv pip install -r requirements.txt -
Install the core package in development mode:
cd core uv pip install -e . cd ..
Run the sample application:
# Run Python sample applications
poe run-sample # Run classic ML demo
poe run-sample-api # Run API integration demo
# Run NestJS Data API
poe run-dataapi # Production mode
poe run-dataapi-dev # Development mode with hot-reload
You can use these Poe commands for your development workflow:
# Run tests
poe test # Run all Python tests
poe test-core # Run only core library tests
poe test-dataapi # Run NestJS Data API tests
poe test-dataapi-e2e # Run NestJS Data API end-to-end tests
# Linting and formatting
poe lint # Check Python code style with flake8
poe format # Format Python code using black
# Build
poe build-dataapi # Build NestJS Data API for production
# Complete quality check
poe check # Run Python linting and tests
poe check-all # Run all tests (Python and NestJS)
The Data API is built using NestJS and provides RESTful endpoints for accessing and manipulating data.
# Install dependencies
cd apps/dataapi
pnpm install
# Run in development mode with hot-reload
pnpm run start:dev
# Or use Poe from the root directory
poe run-dataapi-dev
The API includes the following endpoints (expand as your implementation grows):
GET /- Health check endpoint- More endpoints will be added as the API is developed
- Create a new directory in the
apps/folder - Use the core libraries by importing from
predictsolver_core
- Make changes to the core library in
core/predictsolver_core/ - Run tests to ensure everything works correctly
MIT