{"id":19657751,"url":"https://github.com/esss/flask-restalchemy","last_synced_at":"2025-10-20T05:47:28.526Z","repository":{"id":37458482,"uuid":"118335353","full_name":"ESSS/flask-restalchemy","owner":"ESSS","description":"Flask extension to build REST APIs based on SQLAlchemy models ","archived":false,"fork":false,"pushed_at":"2024-08-20T12:00:33.000Z","size":250,"stargazers_count":36,"open_issues_count":2,"forks_count":3,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-22T21:50:44.924Z","etag":null,"topics":["flask-extension","hacktoberfest","sqlalchemy"],"latest_commit_sha":null,"homepage":"http://flask-restalchemy.readthedocs.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/ESSS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","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":"2018-01-21T13:03:54.000Z","updated_at":"2023-11-03T18:21:01.000Z","dependencies_parsed_at":"2023-11-20T18:26:37.887Z","dependency_job_id":"38348290-e4ba-411c-8b5e-65bad713d2e1","html_url":"https://github.com/ESSS/flask-restalchemy","commit_stats":{"total_commits":212,"total_committers":15,"mean_commits":"14.133333333333333","dds":0.7830188679245282,"last_synced_commit":"420578265958e9b3f976d7911e0d344956a1b16f"},"previous_names":["esss/flask-rest-orm"],"tags_count":280,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESSS%2Fflask-restalchemy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESSS%2Fflask-restalchemy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESSS%2Fflask-restalchemy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ESSS%2Fflask-restalchemy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ESSS","download_url":"https://codeload.github.com/ESSS/flask-restalchemy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251375512,"owners_count":21579459,"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":["flask-extension","hacktoberfest","sqlalchemy"],"created_at":"2024-11-11T15:33:34.733Z","updated_at":"2025-10-20T05:47:28.455Z","avatar_url":"https://github.com/ESSS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-RESTAlchemy #\n\n[![build](https://github.com/ESSS/serialchemy/workflows/build/badge.svg)](https://github.com/ESSS/serialchemy/actions)\n[![codecov](https://codecov.io/gh/ESSS/flask-restalchemy/branch/master/graph/badge.svg)](https://codecov.io/gh/ESSS/flask-restalchemy)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![black](https://img.shields.io/readthedocs/flask-restalchemy.svg)](https://flask-restalchemy.readthedocs.io/en/latest)\n\nA Flask extension to build REST APIs. It dismiss the need of building *Schema* classes,\nsince usually all the information needed to serialize an SQLAlchemy instance is in the model\nitself.\n\nBy adding a model to the API, all its properties will be exposed:\n\n```python\nclass User(Base):\n\n    __tablename__ = \"User\"\n\n    id = Column(Integer, primary_key=True)\n    firstname = Column(String)\n    lastname = Column(String)\n    email = Column(String)\n    password = Column(String)\n\n\napi = Api(flask_app)\napi.add_model(User, \"/user\")\n```\n\nTo change the way properties are serialized, declare only the one that needs a non-default\nbehaviour:\n\n```python\nfrom serialchemy import ModelSerializer, Field\n\n\nclass UserSerializer(ModelSerializer):\n\n    password = Field(load_only=True)\n\n\napi = Api(flask_app)\napi.add_model(User, \"/user\", serializer_class=UserSerializer)\n```\n\n### Release\nA reminder for the maintainers on how to make a new release.\n\nNote that the VERSION should folow the semantic versioning as X.Y.Z\nEx.: v1.0.5\n\n1. Create a ``release-VERSION`` branch from ``upstream/master``.\n2. Update ``CHANGELOG.rst``.\n3. Push a branch with the changes.\n4. Once all builds pass, push a ``VERSION`` tag to ``upstream``.\n5. Merge the PR.\n\n[Changelog]: https://regro.github.io/rever-docs/devguide.html#changelog\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesss%2Fflask-restalchemy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesss%2Fflask-restalchemy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesss%2Fflask-restalchemy/lists"}