{"id":31646427,"url":"https://github.com/krafterio/fastedgy","last_synced_at":"2026-04-29T22:39:39.795Z","repository":{"id":314753012,"uuid":"1054721842","full_name":"krafterio/fastedgy","owner":"krafterio","description":"Base that makes web application development simple and fast with FastAPI and Edgy ORM","archived":false,"fork":false,"pushed_at":"2026-04-27T11:08:17.000Z","size":6384,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-27T11:22:26.914Z","etag":null,"topics":["alembic-extension","api-generator","cli","container-service","edgy","fastapi","i18n","metadata-model","openapi","orm","postgresql","python","queue-jobs","rest-api","sqlalchemy","storage"],"latest_commit_sha":null,"homepage":"https://fastedgy.krafter.io","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/krafterio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-11T08:38:56.000Z","updated_at":"2026-04-27T11:08:20.000Z","dependencies_parsed_at":"2025-09-14T16:14:27.693Z","dependency_job_id":"9ec54460-de24-4f8c-8978-6486d5fedaeb","html_url":"https://github.com/krafterio/fastedgy","commit_stats":null,"previous_names":["krafterio/fastedgy"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/krafterio/fastedgy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krafterio%2Ffastedgy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krafterio%2Ffastedgy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krafterio%2Ffastedgy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krafterio%2Ffastedgy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krafterio","download_url":"https://codeload.github.com/krafterio/fastedgy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krafterio%2Ffastedgy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32447292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"ssl_error","status_checked_at":"2026-04-29T22:10:49.234Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["alembic-extension","api-generator","cli","container-service","edgy","fastapi","i18n","metadata-model","openapi","orm","postgresql","python","queue-jobs","rest-api","sqlalchemy","storage"],"created_at":"2025-10-07T05:49:59.759Z","updated_at":"2026-04-29T22:39:39.785Z","avatar_url":"https://github.com/krafterio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"FastEdgy\n--------\n\nThe base that makes web application development simple and fast with FastAPI and Edgy ORM.\n\n## Features\n\n- **API Routes Generator:** Automatically create CRUD management and export routes for models\n- **Advanced Query Builder for API filter:** Create complex filters with nested rules and condition groupings validated by exposed metadata\n- **Fields selector in API Response:** Define the list of fields that the JSON API should return with the ability to define fields on nested relationships compatible with single and multiple relationships\n- **Metadata Generator:** Automatically create metadata info for models and fields\n- **Container Service:** Centralizes and manages application-level lifecycle service classes with lazy loading\n- **Queued Task:** Manage asynchronous tasks and background jobs with failover management and multi-workers\n- **CLI:** Use Rich Click to improve command-line formatting and auto-register new commands\n- **Edgy ORM Fields Extensions:** Add additional field types for Edgy and PostgreSQL\n- **Email:** Use Jinja2 templates to generate and send emails\n- **Storage:** Add storage management service\n- **Alembic Extensions:** Add Alembic extensions to handle Edgy ORM/SQL Alchemy field migrations\n- **Internationalization:** Use Babel to serve and extract translatable messages with CLI commands\n- **Authentication:** Adds basic API endpoints for authentication management\n\n## Documentation\n\nDocumentation is available at [fastedgy.krafter.io](https://fastedgy.krafter.io).\n\n## Prerequisites\n\n- Python 3.13+\n- UV (Python Package Manager recommended, see the [installation doc](https://docs.astral.sh/uv/getting-started/installation))\n- PostgreSQL 15.0+\n\n## Installation\n\n```\nuv add git+ssh://git@github.com/krafterio/fastedgy.git\n```\nOr\n```\npip install git+ssh://git@github.com/krafterio/fastedgy.git\n```\n\n## Development\n\n### Documentation Development\n\nThe project documentation is built using [MkDocs Material](https://squidfunk.github.io/mkdocs-material) with versioning\nsupport via [Mike](https://github.com/jimporter/mike).\n\n#### Local Development\n\nTo work on the documentation locally:\n\n```bash\nuv sync --dev\nuv run mkdocs serve\n```\n\nThe documentation will be available at `http://localhost:8000/fastedgy`.\n\n#### Documentation Versioning\n\nThe documentation uses **mike** for version management:\n\n- **Development version**: Push to `main` branch automatically deploys to `dev` version\n- **Stable releases**: Create a tag (e.g., `0.1.0`) to automatically deploy version `0.1` as `latest`\n\n**Useful commands:**\n\n```bash\n# List all deployed versions\nuv run mike list\n\n# Serve documentation locally with version selector (for testing) available at `http://localhost:8000`\nuv run mike serve\n\n# Manual deployment commands (for exceptional cases only)\n# The --push flag automatically publishes to GitHub Pages\nuv run mike deploy --push dev latest --update-aliases\nuv run mike set-default --push latest\n```\n\n**Note:** In normal development, GitHub Actions handles deployment automatically when you push to `main` or create tags.\n\n#### Publishing New Versions\n\n1. **For development updates**: Simply push to `main` branch\n   ```bash\n   git push origin main\n   ```\n\n2. **For new releases**: Create and push a version tag\n   ```bash\n   git tag 0.2.0\n   git push origin 0.2.0\n   ```\n\nThe GitHub Action will automatically handle the documentation deployment.\n\n## Commit message format convention\n\nThis project uses the **[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0)** naming convention.\n\n### Basic structure of a Conventional commit\n\n```\n\u003ctype\u003e(\u003cscope\u003e): \u003cdescription\u003e\n```\n\n- **type**: the type of modification made (required)\n- **scope**: the scope (optional, but recommended)\n- **description**: a short explanation (imperative, no capital letters, no period)\n\n### Conventional Commits Types used\n\n| Type     | Description                                                                    |\n|----------|--------------------------------------------------------------------------------|\n| feat     | New feature                                                                    |\n| fix      | Bug fix                                                                        |\n| docs     | Change in documentation                                                        |\n| style    | Change of format (indentation, spaces, etc.) without functional impact         |\n| refactor | Refactoring the code without adding or correcting functionality                |\n| revert   | Reverting a previous commit                                                    |\n| merge    | Merging branches                                                               |\n| test     | Adding or modifying tests                                                      |\n| chore    | Miscellaneous tasks without direct impact (build, dependencies, configs, etc.) |\n| perf     | Performance improvement                                                        |\n| ci       | Changes to CI/CD files (Github Actions, Gitlab CI, etc.)                       |\n| release  | Creating a new release                                                         |\n\n### Conventional Commits Scopes used\n\n| Scope   | Description                                             |\n|---------|---------------------------------------------------------|\n| core    | Core backend logic and main platform features           |\n| cli     | CLI commands and related functionality                  |\n| orm     | ORM models, migrations, and related logic               |\n| auth    | Authentication and authorization mechanisms             |\n| api     | REST API endpoints, routes, and controllers             |\n| config  | Global configuration and environment settings           |\n| project | Project structure, global files, and overall management |\n\nContributing\n------------\n\nFastEdgy is an Open Source, community-driven project.\n\nIssues and feature requests are tracked in the [Github issue tracker][3].\n\nPull Requests are tracked in the [Github pull request tracker][4].\n\nLicense\n-------\n\nFastEdgy is released under the [MIT License][1].\n\nAbout\n-----\n\nFastEdgy was originally created by [Krafter][2].\n\n[1]: LICENSE\n[2]: https://krafter.io\n[3]: https://github.com/krafterio/fastedgy/issues\n[4]: https://github.com/krafterio/fastedgy/pulls\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrafterio%2Ffastedgy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrafterio%2Ffastedgy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrafterio%2Ffastedgy/lists"}