Welcome to the Outlier-X Repository. This repository contains production-grade Python CLI and tools for Outlier.bet data ingestion, normalization, and validation. The following documentation will guide you through setup, usage, development practices, and deployment workflows.
The Outlier-X project serves as the backbone for data handling at Outlier.bet. It provides tools for seamless data ingestion, robust validation pipelines, and normalization routines to ensure data consistency.
-
Clone Repository
git clone https://github.com/allsxxing/outlier-x.git cd outlier-x -
Create Python Virtual Environment
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Run the CLI tool:
python cli.py --help
Example command:
python cli.py ingest --source "example.csv" -
Normalize data:
python cli.py normalize --input "raw_data.json" --output "normalized_data.json"
-
Validate data:
python cli.py validate --schema "schema.json" --data "normalized_data.json"
| Command | Arguments | Description |
|---|---|---|
| ingest | --source FILE |
Data ingestion from a source file. |
| normalize | --input FILE --output FILE |
Normalize raw data to consistent format. |
| validate | --schema FILE --data FILE |
Validate data against the given schema. |
(Expand the commands table for additional features.)
-
Linting Run the linter to enforce code quality:
ruff src tests
-
Code Formatting Apply consistent formatting:
black src tests
-
Run Tests Execute all automated tests:
pytest
Tests are written using the pytest framework. Run individual test files or the entire test suite as needed. Use structured data examples to build test coverage for edge cases.
Deployment for Outlier-X tools can occur on any Python-compatible server. Optionally, containerize it using Docker for simplified scaling and portability.
-
Build Docker Image
docker build -t outlier-x:latest . -
Run Docker Container
docker run --rm -it outlier-x:latest
- Fork the repository and create feature or bugfix branches.
- Ensure all changes pass linting and tests before creating a pull request.
- Reference issues in commits and PRs wherever applicable.
Thank you for contributing to Outlier-X!