{"id":16213661,"url":"https://github.com/gregschmit/django-autorest","last_synced_at":"2026-05-04T19:39:52.121Z","repository":{"id":57419045,"uuid":"194936490","full_name":"gregschmit/django-autorest","owner":"gregschmit","description":"Automatically build a REST API based on model definitions","archived":false,"fork":false,"pushed_at":"2020-08-10T02:42:45.000Z","size":73,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-09-27T17:16:28.372Z","etag":null,"topics":["django","django-rest-framework","rest","rest-api"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/django-autorest/","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/gregschmit.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2019-07-02T21:21:02.000Z","updated_at":"2020-08-16T08:22:16.000Z","dependencies_parsed_at":"2022-09-13T15:28:23.599Z","dependency_job_id":null,"html_url":"https://github.com/gregschmit/django-autorest","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/gregschmit/django-autorest","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregschmit%2Fdjango-autorest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregschmit%2Fdjango-autorest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregschmit%2Fdjango-autorest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregschmit%2Fdjango-autorest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gregschmit","download_url":"https://codeload.github.com/gregschmit/django-autorest/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gregschmit%2Fdjango-autorest/sbom","scorecard":{"id":445136,"data":{"date":"2025-08-11","repo":{"name":"github.com/gregschmit/django-autorest","commit":"9c2065ec6871fde1b26d72d9285ad2c3b240dff7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"16 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2018-6 / GHSA-2f9x-5v75-3qv4","Warn: Project is vulnerable to: PYSEC-2019-17 / GHSA-337x-4q8g-prc5","Warn: Project is vulnerable to: PYSEC-2018-2 / GHSA-5hg3-6c2f-f3wr","Warn: Project is vulnerable to: PYSEC-2021-98 / GHSA-68w8-qjq3-2gfm","Warn: Project is vulnerable to: GHSA-6c3j-c64m-qhgq","Warn: Project is vulnerable to: GHSA-7xr5-9hcq-chf9","Warn: Project is vulnerable to: GHSA-8x94-hmjh-97hq","Warn: Project is vulnerable to: GHSA-hmr4-m2h5-33qx","Warn: Project is vulnerable to: PYSEC-2018-5 / GHSA-r28v-mw67-m5p9","Warn: Project is vulnerable to: PYSEC-2018-4 / GHSA-rf4j-j272-fj86","Warn: Project is vulnerable to: GHSA-rrqc-c2jx-6jgv","Warn: Project is vulnerable to: GHSA-vfq6-hq5r-27r6","Warn: Project is vulnerable to: PYSEC-2019-18 / GHSA-wh4h-v3f2-r2pp","Warn: Project is vulnerable to: PYSEC-2021-64 / GHSA-x7gm-rfgv-w973","Warn: Project is vulnerable to: PYSEC-2020-263 / GHSA-fx83-3ph3-9j2q","Warn: Project is vulnerable to: GHSA-gw84-84pc-xp82"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T06:31:59.788Z","repository_id":57419045,"created_at":"2025-08-19T06:31:59.788Z","updated_at":"2025-08-19T06:31:59.788Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32622724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"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":["django","django-rest-framework","rest","rest-api"],"created_at":"2024-10-10T11:07:24.141Z","updated_at":"2026-05-04T19:39:52.104Z","avatar_url":"https://github.com/gregschmit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"AutoREST\n========\n\n.. inclusion-marker-do-not-remove\n\n.. image:: https://travis-ci.org/gregschmit/django-autorest.svg?branch=master\n    :alt: TravisCI\n    :target: https://travis-ci.org/gregschmit/django-autorest\n\n.. image:: https://img.shields.io/pypi/v/django-autorest\n    :alt: PyPI\n    :target: https://pypi.org/project/django-autorest/\n\n.. image:: https://coveralls.io/repos/github/gregschmit/django-autorest/badge.svg?branch=master\n    :alt: Coveralls\n    :target: https://coveralls.io/github/gregschmit/django-autorest?branch=master\n\n.. image:: https://readthedocs.org/projects/django-autorest/badge/?version=latest\n    :alt: Documentation Status\n    :target: https://django-autorest.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :alt: Code Style\n    :target: https://github.com/ambv/black\n\nDocumentation: https://django-autorest.readthedocs.io\n\nSource: https://github.com/gregschmit/django-autorest\n\nPyPI: https://pypi.org/project/django-autorest/\n\nAutoREST is a reusable Django app for building REST APIs from model definitions and\n(optionally) ``admin.py`` definitions.\n\n**The Problem**: Building APIs for models is boring.\n\n**The Solution**: This app builds them for you, optionally using your AdminSite as a\nguide, and you can just focus on the custom stuff.\n\n\nHow to Use\n==========\n\n.. code-block:: shell\n\n    $ pip install django-autorest\n\nInclude ``autorest`` in your ``INSTALLED_APPS``.\n\n\nSettings\n--------\n\n- ``AUTOREST_ADMIN_SITE`` (default ``'django.contrib.admin.site'``): This is an import\n  string to the admin site where ``autorest`` can get hints on how the API should be\n  configured (e.g., list display fields, edit fields, readonly fields, etc). To disable\n  this feature entirely, just set this  to ``False``.\n- ``AUTOREST_DEFAULT_USE_ADMIN_SITE`` (default ``False``): Whether the default model\n  functionality should be to get config hints from ``admin.py``.\n- ``AUTOREST_DEFAULT_ENABLE`` (default: ``True``): Whether API ViewSets/URLs should be\n  built for models which don't have an explicit entry in the ``AUTOREST_CONFIG``. If\n  this option is ``False``, then only models defined in the ``AUTOREST_CONFIG`` will\n  have URLs generated for them.\n- ``AUTOREST_CONFIG`` default:\n\n.. code-block:: python\n\n    {\n        'auth': {\n            'User': {\n                'viewset': 'autorest.sample_user_viewset.UserViewSet',\n            },\n        },\n    }\n\n\n``AUTOREST_CONFIG`` Options:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- ``use_admin_site``: Whether to use the admin site to build the API.\n- ``serializer``: An import string to a serializer instance. (Note: if you would use\n  multiple serializers for different actions like list/detail, then you can use\n  `drf-action-serializer \u003chttps://github.com/gregschmit/drf-action-serializer\u003e`_) to\n  configure a single serializer that supports per-action field configuration.)\n- ``viewset``: An import string to a full viewset for this model.\n\n\nContributing\n============\n\nSubmit a pull request if you would like to contribute. You must only contribute code\nthat you have authored or otherwise hold the copyright to, and you must make any\ncontributions to this project available under the MIT license.\n\nDevelopment\n===========\n\nAutoREST comes with a ``settings.py`` file, allowing it to run as a standalone project.\n\n.. code-block:: shell\n\n    $ git clone https://github.com/gregschmit/django-autorest\n\nThen you can go into the ``django-autorest`` directory and do the initial migrations and\nrun the server (you may need to type ``python3`` rather than ``python``):\n\n.. code-block:: shell\n\n    $ cd django-autorest\n    $ python manage.py migrate\n    $ python manage.py createsuperuser\n    ...\n    $ python manage.py runserver\n\nThen you can see the api at http://127.0.0.1:8000/api/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregschmit%2Fdjango-autorest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgregschmit%2Fdjango-autorest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgregschmit%2Fdjango-autorest/lists"}