{"id":22720788,"url":"https://github.com/open-byte/open-gym-backend","last_synced_at":"2025-08-17T14:04:21.506Z","repository":{"id":222072920,"uuid":"703150862","full_name":"open-byte/open-gym-backend","owner":"open-byte","description":"Backend for Open Gym","archived":false,"fork":false,"pushed_at":"2024-02-20T21:48:20.000Z","size":25,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T22:44:41.964Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-byte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-10T17:31:06.000Z","updated_at":"2024-02-20T21:48:24.000Z","dependencies_parsed_at":"2024-02-20T22:39:34.216Z","dependency_job_id":null,"html_url":"https://github.com/open-byte/open-gym-backend","commit_stats":null,"previous_names":["open-byte/open-gym-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/open-byte/open-gym-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-byte%2Fopen-gym-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-byte%2Fopen-gym-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-byte%2Fopen-gym-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-byte%2Fopen-gym-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-byte","download_url":"https://codeload.github.com/open-byte/open-gym-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-byte%2Fopen-gym-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263644382,"owners_count":23493906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-10T14:11:57.444Z","updated_at":"2025-07-05T01:37:26.222Z","avatar_url":"https://github.com/open-byte.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open Gym Backend\nProject to manage the backend of the Open Gym application\n\n## Structure\n\nSee [Structure](./docs/STRUCTURE.md)\n\n## Technologies\n- Python 3.12+ ✨\n- [Uvicorn](https://www.uvicorn.org/) Lightning-fast ASGI server implementation, using uvloop and httptools 🦄\n- [FastAPI](https://fastapi.tiangolo.com/) Web Framework for building APIs 🚀\n- [SQLModel](https://sqlmodel.tiangolo.com/) SQLModel is a library for interacting with SQL databases from Python code 🗄️\n- [Pydantic](https://pydantic-docs.helpmanual.io/) Data validation and settings management using python type annotations ✅\n- [Poetry](https://python-poetry.org/) Python dependency management and packaging made easy 📦\n- [Alembic](https://alembic.sqlalchemy.org/) A database migrations tool for SQLAlchemy 🐍\n- [PostgreSQL](https://www.postgresql.org/) Open Source Relational Database 🐘\n- [Docker](https://www.docker.com/) Containerization platform 🐳\n- [Docker Compose](https://docs.docker.com/compose/) Tool for defining and running multi-container Docker applications 🛠️\n\n\n## Format and Linting\n- [Ruff](https://docs.astral.sh/ruff/) is a code formatter and linter for Python 🐶\n- [Pre-commit](https://pre-commit.com/) A framework for managing and maintaining multi-language pre-commit hooks 🎣\n- [mypy](https://mypy.readthedocs.io/en/stable/) Static type checker for Python 🏗️\n\n\n## Code Style\n- Comments: [Google Style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)\n- [Ruff](https://docs.astral.sh/ruff/) is a code formatter and linter for Python 🐶\n- All code has to be formatted and linted before committing using pre-commit hooks\n\nFor checking static type checking run the following command\n```bash\nmypy src/**/*.py\n\n```\n\n## Project setup\n\n### Prerequisites\n  - Python 3.12+\n  - Docker\n  - Docker Compose\n  - Poetry\n  - Pre-commit\n\n- We are using pre-commit to enforce code style and formatting\n```bash\n## Install pre-commit\npip install pre-commit\n## Install the pre-commit hooks\npre-commit install\n```\n### Local development\n- Clone the repository\n- Install poetry\n```bash\npip install poetry\n```\n\n- Create a virtual environment\n```bash\npoetry env use python3.x # where x is the version of python you want to use (3.12+)\nsource .venv/bin/activate # activate the virtual environment\n```\n or\n```bash\npython3.x -m venv .venv # where x is the version of python you want to use (3.12+)\nsource .venv/bin/activate # activate the virtual environment\n```\n- Install the dependencies\n```bash\npoetry install\n```\n\n\n- Run the server (before running the server, you need to have the `.env` file with the configuration of the database)\n```bash\nuvicorn src.main:app --reload --port 8000\n```\n\n### Local development with Docker\n- Clone the repository\n- Use docker-compose to build and run the server\n```bash\ndocker-compose up --build\n```\n### API Documentation\n- The API documentation is available at `http://localhost:8000/docs`\n\n\n## Apply migrations\n\nSee [Migrations](./docs/MIGRATIONS.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-byte%2Fopen-gym-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-byte%2Fopen-gym-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-byte%2Fopen-gym-backend/lists"}