2023-09-29T09:32:06,532 Created temporary directory: /tmp/pip-build-tracker-j2n1vsy9 2023-09-29T09:32:06,533 Initialized build tracking at /tmp/pip-build-tracker-j2n1vsy9 2023-09-29T09:32:06,533 Created build tracker: /tmp/pip-build-tracker-j2n1vsy9 2023-09-29T09:32:06,534 Entered build tracker: /tmp/pip-build-tracker-j2n1vsy9 2023-09-29T09:32:06,534 Created temporary directory: /tmp/pip-wheel-4kr9mbue 2023-09-29T09:32:06,538 Created temporary directory: /tmp/pip-ephem-wheel-cache-60swnj7z 2023-09-29T09:32:06,559 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-29T09:32:06,563 2 location(s) to search for versions of djangorestframework-simple-apikey: 2023-09-29T09:32:06,563 * https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,563 * https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,564 Fetching project page and analyzing links: https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,564 Getting page https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,566 Found index url https://pypi.org/simple/ 2023-09-29T09:32:06,782 Fetched page https://pypi.org/simple/djangorestframework-simple-apikey/ as application/vnd.pypi.simple.v1+json 2023-09-29T09:32:06,787 Found link https://files.pythonhosted.org/packages/af/37/02979788dae0d9440cb8ad308aefad3af868cd11fbd55734c489029258db/djangorestframework-simple-apikey-0.0.1.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.0.1 2023-09-29T09:32:06,788 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/94/d2/0c88e78919d54b4da9b385f1d5774161e3b66b1b38cc02374535cde7f39c/djangorestframework_simple_apikey-0.0.1-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,788 Found link https://files.pythonhosted.org/packages/17/11/9c1ae306e4a09d4aed5db60287486a22d89bee685e90f7e68b5a78fdb2a3/djangorestframework-simple-apikey-0.0.2.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.0.2 2023-09-29T09:32:06,789 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/ba/da/4b35e18211f3849eb5b4e3fd1f1aeecf776621e54d8c7e2431d6980f066a/djangorestframework_simple_apikey-0.0.2-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,789 Found link https://files.pythonhosted.org/packages/77/36/431d30e8d3a1730d68793ff3bec6a748b196dcaefb89a61d71a6810ab709/djangorestframework-simple-apikey-0.0.3.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.0.3 2023-09-29T09:32:06,790 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/f9/76/2b6a8886a9e28999066822fe9ae92e0062a4e6bc21c57f22a0ebf6ae3f60/djangorestframework_simple_apikey-0.0.3-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,791 Found link https://files.pythonhosted.org/packages/a0/2f/8a80c07c203d0ec6040ddd5dbc0b1affbde60a863023cd90de91db9a678d/djangorestframework-simple-apikey-0.1.0.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.1.0 2023-09-29T09:32:06,792 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/39/16/5e92373ff6637ca0bed9092ba28155c366138882d6c5cd22ff5a9ee231fc/djangorestframework_simple_apikey-0.1.0-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,792 Found link https://files.pythonhosted.org/packages/4c/08/be854760024c96354f8da88c86a14df2fff96e9756b204468dba4359c9f2/djangorestframework-simple-apikey-0.1.1.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.1.1 2023-09-29T09:32:06,793 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/48/d6/9a27922df1fbba2a66b94ac1e5df2529e811c410267c54cde495ecaa5ac3/djangorestframework_simple_apikey-0.1.1-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,794 Found link https://files.pythonhosted.org/packages/39/e7/5be11839bd985f88b88a025ff03ea6df38bae0e01b2e2e7c3035a8685ab8/djangorestframework-simple-apikey-0.1.2.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 0.1.2 2023-09-29T09:32:06,794 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/d6/e8/e4228c57294acab2c50c3af558d5c3edd5eb03686ad8fcd53299279e3380/djangorestframework_simple_apikey-0.1.2-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,795 Found link https://files.pythonhosted.org/packages/d4/70/8a33e4e6575c85286642d2a7b382faf3864759ba5aedc469c6a98020c692/djangorestframework-simple-apikey-1.0.0.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 1.0.0 2023-09-29T09:32:06,795 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/6f/91/9efa6d6a536ae92c0532071048f1233a49b5a0b17b50eaa44cefa241f49a/djangorestframework_simple_apikey-1.0.0-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,796 Found link https://files.pythonhosted.org/packages/36/8f/f48e3f288a32d3ec46585f94fa1c91713dcc59abdff8c21d9f3527570f5a/djangorestframework-simple-apikey-1.0.1.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 1.0.1 2023-09-29T09:32:06,797 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/67/cd/0c26d3defa20771c6837bfa76f050e104ee37d02bc27d9ac05d9f4901449/djangorestframework_simple_apikey-1.0.1-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,797 Found link https://files.pythonhosted.org/packages/8c/83/ff96c2511516e457deb3c8c2f383950453c87f3b2407f8c65860b4148558/djangorestframework-simple-apikey-1.0.2.tar.gz (from https://pypi.org/simple/djangorestframework-simple-apikey/), version: 1.0.2 2023-09-29T09:32:06,798 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://files.pythonhosted.org/packages/f5/33/92a17c5f6e1f58c27341a770cc784195501deebd8b3bd145f845fbe0c33f/djangorestframework_simple_apikey-1.0.2-py2.py3-none-any.whl (from https://pypi.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,799 Fetching project page and analyzing links: https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,799 Getting page https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,801 Found index url https://www.piwheels.org/simple/ 2023-09-29T09:32:06,956 Fetched page https://www.piwheels.org/simple/djangorestframework-simple-apikey/ as text/html 2023-09-29T09:32:06,959 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.1.2-py2.py3-none-any.whl#sha256=538b1d3c050e91664248318f8faa2c06a862874d1cf18bae5bf0d297147dde91 (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,960 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.1.1-py2.py3-none-any.whl#sha256=e15ba76005860b2e2d93f63a05ca4d95dd0dd75c3cfbfc8284ba0a578ea25fc4 (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,960 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.1.0-py2.py3-none-any.whl#sha256=37a3e6da2dc9e8c60a2d4479623ae3607cfdc24dd58f8d4b92945805633bede7 (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,961 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.0.3-py2.py3-none-any.whl#sha256=20375156a9e3c1cbd3fddcd740dfa31a3cd90512847585d020b57467b87dfa43 (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,962 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.0.2-py2.py3-none-any.whl#sha256=909677d726c4b0df9146945bc9097b399209ba907f19ee6eb3aafb82867d6d76 (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,962 Skipping link: No binaries permitted for djangorestframework-simple-apikey: https://www.piwheels.org/simple/djangorestframework-simple-apikey/djangorestframework_simple_apikey-0.0.1-py2.py3-none-any.whl#sha256=25e520832019bbd8d8fa950c181877208113391461f6b529f01280cf52a01f7f (from https://www.piwheels.org/simple/djangorestframework-simple-apikey/) 2023-09-29T09:32:06,962 Skipping link: not a file: https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,963 Skipping link: not a file: https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:06,982 Given no hashes to check 1 links for project 'djangorestframework-simple-apikey': discarding no candidates 2023-09-29T09:32:06,999 Collecting djangorestframework-simple-apikey==1.0.0 2023-09-29T09:32:07,002 Created temporary directory: /tmp/pip-unpack-73cotv93 2023-09-29T09:32:07,231 Downloading djangorestframework-simple-apikey-1.0.0.tar.gz (18 kB) 2023-09-29T09:32:07,314 Added djangorestframework-simple-apikey==1.0.0 from https://files.pythonhosted.org/packages/d4/70/8a33e4e6575c85286642d2a7b382faf3864759ba5aedc469c6a98020c692/djangorestframework-simple-apikey-1.0.0.tar.gz to build tracker '/tmp/pip-build-tracker-j2n1vsy9' 2023-09-29T09:32:07,318 Created temporary directory: /tmp/pip-build-env-iq_k2lxn 2023-09-29T09:32:07,322 Installing build dependencies: started 2023-09-29T09:32:07,324 Running command pip subprocess to install build dependencies 2023-09-29T09:32:08,499 Using pip 23.2.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11) 2023-09-29T09:32:08,998 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-29T09:32:10,542 Collecting setuptools>=61.0.0 2023-09-29T09:32:10,621 Using cached https://www.piwheels.org/simple/setuptools/setuptools-68.2.2-py3-none-any.whl (807 kB) 2023-09-29T09:32:10,859 Collecting wheel 2023-09-29T09:32:10,880 Using cached https://www.piwheels.org/simple/wheel/wheel-0.41.2-py3-none-any.whl (64 kB) 2023-09-29T09:32:13,495 Installing collected packages: wheel, setuptools 2023-09-29T09:32:13,714 Creating /tmp/pip-build-env-iq_k2lxn/overlay/local/bin 2023-09-29T09:32:13,716 changing mode of /tmp/pip-build-env-iq_k2lxn/overlay/local/bin/wheel to 755 2023-09-29T09:32:15,894 Successfully installed setuptools-68.2.2 wheel-0.41.2 2023-09-29T09:32:16,486 Installing build dependencies: finished with status 'done' 2023-09-29T09:32:16,489 Getting requirements to build wheel: started 2023-09-29T09:32:16,490 Running command Getting requirements to build wheel 2023-09-29T09:32:17,107 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `description` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,107 !! 2023-09-29T09:32:17,108 ******************************************************************************** 2023-09-29T09:32:17,109 ########################################################################## 2023-09-29T09:32:17,109 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,110 ########################################################################## 2023-09-29T09:32:17,111 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,112 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:32:17,113 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,113 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:32:17,114 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,115 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,116 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,116 follow strictly the standard. 2023-09-29T09:32:17,117 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:32:17,117 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,118 configuration. 2023-09-29T09:32:17,118 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,119 or your builds will no longer be supported. 2023-09-29T09:32:17,119 ******************************************************************************** 2023-09-29T09:32:17,120 !! 2023-09-29T09:32:17,121 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,121 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `readme` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,122 !! 2023-09-29T09:32:17,123 ******************************************************************************** 2023-09-29T09:32:17,123 ########################################################################## 2023-09-29T09:32:17,124 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,124 ########################################################################## 2023-09-29T09:32:17,126 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,127 `readme = '# Django REST Framework Simple API Key π\n\nDjango REST Framework Simple API Key is a fast and secure API Key authentication plugin for REST API built with [Django Rest Framework](https://www.django-rest-framework.org/).\n\n
\n\nFor the full documentation, visit [https://djangorestframework-simple-apikey.readthedocs.io/en/latest/](https://djangorestframework-simple-apikey.readthedocs.io/en/latest/).\n\n## Introduction\n\nDjango REST Simple Api Key is a package built upon Django, Django REST Framework, and the fernet cryptography module to generate, encrypt, and decrypt API keys. It provides fast, secure and customizable API Key authentication.\n\n### Benefits\n\nWhy should you use this package for your API Key authentication?\n\n* β‘**οΈFast**: We use the [fernet](https://cryptography.io/en/latest/fernet/) cryptography module to generate, encrypt, and decrypt API keys. Besides the security facade, it is blazing fast allowing you to treat requests quickly and easily.\n \n* π **Secure**: Fernet guarantees that a message encrypted using it cannot be manipulated or read without the key, which we call `FERNET_KEY`. As long as you treat the fernet key at the same level you treat the Django `SECRET_KEY` setting, you are good to go.\n \n* π§ **Customizable**: The models, authentication backend, and permissions classes can be rewritten and fit your needs. We do our best to extend Django classes and methods, so you can easily extend our classes and methods.π Your Api Key authentication settings are kept in a single configuration dictionary named `SIMPLE_API_KEY` in the `settings.py` file of your Django project. It can be customized to fit your project needs.\n \n\n## Quickstart\n\n1 - Install with `pip`:\n\n```bash\npip install djangorestframework-simple-apikey\n```\n\n2 - Register the app in the `INSTALLED_APPS` in the `settings.py` file:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n # ...\n "rest_framework",\n "rest_framework_simple_api_key",\n]\n```\n\n3- Add the `FERNET_KEY` setting in your `SIMPLE_API_KEY` configuration dictionary. You can easily generate a fernet key using the `python manage.py generate_fernet_key` command. Keep in mind that the fernet key plays a huge role in the api key authentication system.\n\n```python\nSIMPLE_API_KEY = {\n "FERNET_SECRET": "sVjomf7FFy351xRxDeJWFJAZaE2tG3MTuUv92TLFfOA="\n}\n```\n\n4 - Run migrations:\n\n```bash\npython manage.py migrate\n```\n\nIn your view then, you can add the authentication class and the permission class.\n\n> β οΈ **Important Note**: By default, authentication is performed using the `AUTH_USER_MODEL` specified in the settings.py file.\n\n```python\nfrom rest_framework import viewsets\n\nfrom rest_framework_simple_api_key.backends import APIKeyAuthentication\nfrom rest_framework.response import Response\n\nclass FruitViewSets(viewsets.ViewSet):\n http_method_names = ["get"]\n authentication_classes = (APIKeyAuthentication, )\n\n def list(self, request):\n return Response([{"detail": True}], 200 )\n```\n\n## Generate a Fernet Key\nWe\'ve made it easier for you by creating a custom Django command to quickly generate a fernet key, which is a **crucial component** in the authentication system. Make sure to keep the key secure and store it somewhere safely (ie: environment variable). \n\n**Important βοΈ** : You should treat the `FERNET_KEY` security at the same level as the Django `SECRET_KEY`. π«‘\n\nTo generate the fernet key use the following command:\n\n```python\npython manage.py generate_fernet_key\n```\n\n## Rotation\n\nWe implement an API key rotation strategy for this package. To learn more about it, refer to the documentation at https://djangorestframework-simple-apikey.readthedocs.io/en/latest/rotation.html.\n\n## Demo\n\nYou can find a demo in project in the `example` directory. To run the project, you can :\n\n```shell\ncd example\npip install -r requirements.txt\n\npython manage.py migrate\npython manage.py runserver\n```\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CHANGELOG.md).\n\n## Contributing\n\nThank you for your interest in contributing to the project! Here\'s a guide to help you get started:\n\n- **Setup Development Environment:** \n ```bash\n git clone https://github.com/koladev32/djangorestframework-simple-apikey.git\n ``` \n Use the command below to set up your environment:\n ```\n make install\n ```\n\n- **Format the Code:** \n Before submitting any code, please ensure it is formatted according to our standards:\n ```\n make format\n ```\n\n- **Check Code and Migrations:** \n Validate your changes against our checks:\n ```\n make check\n ```\n\n- **Run Migrations:** \n If your changes include database migrations, run the following:\n ```\n make migrations\n ```\n\n- **Run Tests:** \n Always make sure your changes pass all our tests:\n ```\n make test\n ```\n\nSee [CONTRIBUTING.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CONTRIBUTING.md).'` 2023-09-29T09:32:17,128 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,129 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:32:17,130 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,131 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,131 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,132 follow strictly the standard. 2023-09-29T09:32:17,133 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:32:17,133 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,133 configuration. 2023-09-29T09:32:17,134 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,135 or your builds will no longer be supported. 2023-09-29T09:32:17,135 ******************************************************************************** 2023-09-29T09:32:17,136 !! 2023-09-29T09:32:17,136 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,137 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `license` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,137 !! 2023-09-29T09:32:17,138 ******************************************************************************** 2023-09-29T09:32:17,139 ########################################################################## 2023-09-29T09:32:17,139 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,140 ########################################################################## 2023-09-29T09:32:17,141 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,142 `license = 'MIT'` 2023-09-29T09:32:17,143 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,143 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:32:17,145 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,146 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,147 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,148 follow strictly the standard. 2023-09-29T09:32:17,149 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:32:17,150 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,151 configuration. 2023-09-29T09:32:17,152 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,152 or your builds will no longer be supported. 2023-09-29T09:32:17,153 ******************************************************************************** 2023-09-29T09:32:17,154 !! 2023-09-29T09:32:17,155 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,155 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `authors` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,156 !! 2023-09-29T09:32:17,157 ******************************************************************************** 2023-09-29T09:32:17,157 ########################################################################## 2023-09-29T09:32:17,158 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,158 ########################################################################## 2023-09-29T09:32:17,160 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,161 `authors = 'Kolawole Mangabo'` 2023-09-29T09:32:17,162 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,163 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:32:17,163 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,164 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,165 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,165 follow strictly the standard. 2023-09-29T09:32:17,166 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:32:17,167 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,167 configuration. 2023-09-29T09:32:17,168 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,168 or your builds will no longer be supported. 2023-09-29T09:32:17,169 ******************************************************************************** 2023-09-29T09:32:17,170 !! 2023-09-29T09:32:17,170 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,170 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `classifiers` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,171 !! 2023-09-29T09:32:17,172 ******************************************************************************** 2023-09-29T09:32:17,172 ########################################################################## 2023-09-29T09:32:17,173 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,173 ########################################################################## 2023-09-29T09:32:17,174 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,176 `classifiers = ['Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules']` 2023-09-29T09:32:17,177 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,178 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:32:17,179 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,180 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,181 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,181 follow strictly the standard. 2023-09-29T09:32:17,183 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:32:17,183 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,184 configuration. 2023-09-29T09:32:17,185 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,185 or your builds will no longer be supported. 2023-09-29T09:32:17,186 ******************************************************************************** 2023-09-29T09:32:17,187 !! 2023-09-29T09:32:17,188 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,188 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,189 !! 2023-09-29T09:32:17,190 ******************************************************************************** 2023-09-29T09:32:17,190 ########################################################################## 2023-09-29T09:32:17,191 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,191 ########################################################################## 2023-09-29T09:32:17,192 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,193 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:32:17,194 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,195 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:32:17,196 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,197 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,197 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,198 follow strictly the standard. 2023-09-29T09:32:17,199 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:32:17,199 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,199 configuration. 2023-09-29T09:32:17,201 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,201 or your builds will no longer be supported. 2023-09-29T09:32:17,202 ******************************************************************************** 2023-09-29T09:32:17,203 !! 2023-09-29T09:32:17,203 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,204 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `optional-dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:17,205 !! 2023-09-29T09:32:17,206 ******************************************************************************** 2023-09-29T09:32:17,206 ########################################################################## 2023-09-29T09:32:17,207 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:17,207 ########################################################################## 2023-09-29T09:32:17,208 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:17,210 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:32:17,211 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:17,212 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:32:17,213 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:17,214 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:17,215 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:17,215 follow strictly the standard. 2023-09-29T09:32:17,216 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:32:17,217 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:17,217 configuration. 2023-09-29T09:32:17,218 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:17,219 or your builds will no longer be supported. 2023-09-29T09:32:17,219 ******************************************************************************** 2023-09-29T09:32:17,221 !! 2023-09-29T09:32:17,221 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:17,453 running egg_info 2023-09-29T09:32:17,458 writing djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:32:17,463 writing dependency_links to djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:32:17,466 writing requirements to djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:32:17,467 writing top-level names to djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:32:17,484 reading manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:17,487 adding license file 'LICENSE' 2023-09-29T09:32:17,490 writing manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:17,607 Getting requirements to build wheel: finished with status 'done' 2023-09-29T09:32:17,620 Created temporary directory: /tmp/pip-modern-metadata-jdzm2pbm 2023-09-29T09:32:17,622 Preparing metadata (pyproject.toml): started 2023-09-29T09:32:17,623 Running command Preparing metadata (pyproject.toml) 2023-09-29T09:32:18,144 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `description` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,145 !! 2023-09-29T09:32:18,146 ******************************************************************************** 2023-09-29T09:32:18,146 ########################################################################## 2023-09-29T09:32:18,146 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,147 ########################################################################## 2023-09-29T09:32:18,148 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,149 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:32:18,151 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,151 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:32:18,152 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,153 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,154 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,154 follow strictly the standard. 2023-09-29T09:32:18,156 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:32:18,156 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,157 configuration. 2023-09-29T09:32:18,158 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,158 or your builds will no longer be supported. 2023-09-29T09:32:18,159 ******************************************************************************** 2023-09-29T09:32:18,160 !! 2023-09-29T09:32:18,161 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,161 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `readme` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,162 !! 2023-09-29T09:32:18,163 ******************************************************************************** 2023-09-29T09:32:18,164 ########################################################################## 2023-09-29T09:32:18,164 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,165 ########################################################################## 2023-09-29T09:32:18,166 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,167 `readme = '# Django REST Framework Simple API Key π\n\nDjango REST Framework Simple API Key is a fast and secure API Key authentication plugin for REST API built with [Django Rest Framework](https://www.django-rest-framework.org/).\n\n\n\nFor the full documentation, visit [https://djangorestframework-simple-apikey.readthedocs.io/en/latest/](https://djangorestframework-simple-apikey.readthedocs.io/en/latest/).\n\n## Introduction\n\nDjango REST Simple Api Key is a package built upon Django, Django REST Framework, and the fernet cryptography module to generate, encrypt, and decrypt API keys. It provides fast, secure and customizable API Key authentication.\n\n### Benefits\n\nWhy should you use this package for your API Key authentication?\n\n* β‘**οΈFast**: We use the [fernet](https://cryptography.io/en/latest/fernet/) cryptography module to generate, encrypt, and decrypt API keys. Besides the security facade, it is blazing fast allowing you to treat requests quickly and easily.\n \n* π **Secure**: Fernet guarantees that a message encrypted using it cannot be manipulated or read without the key, which we call `FERNET_KEY`. As long as you treat the fernet key at the same level you treat the Django `SECRET_KEY` setting, you are good to go.\n \n* π§ **Customizable**: The models, authentication backend, and permissions classes can be rewritten and fit your needs. We do our best to extend Django classes and methods, so you can easily extend our classes and methods.π Your Api Key authentication settings are kept in a single configuration dictionary named `SIMPLE_API_KEY` in the `settings.py` file of your Django project. It can be customized to fit your project needs.\n \n\n## Quickstart\n\n1 - Install with `pip`:\n\n```bash\npip install djangorestframework-simple-apikey\n```\n\n2 - Register the app in the `INSTALLED_APPS` in the `settings.py` file:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n # ...\n "rest_framework",\n "rest_framework_simple_api_key",\n]\n```\n\n3- Add the `FERNET_KEY` setting in your `SIMPLE_API_KEY` configuration dictionary. You can easily generate a fernet key using the `python manage.py generate_fernet_key` command. Keep in mind that the fernet key plays a huge role in the api key authentication system.\n\n```python\nSIMPLE_API_KEY = {\n "FERNET_SECRET": "sVjomf7FFy351xRxDeJWFJAZaE2tG3MTuUv92TLFfOA="\n}\n```\n\n4 - Run migrations:\n\n```bash\npython manage.py migrate\n```\n\nIn your view then, you can add the authentication class and the permission class.\n\n> β οΈ **Important Note**: By default, authentication is performed using the `AUTH_USER_MODEL` specified in the settings.py file.\n\n```python\nfrom rest_framework import viewsets\n\nfrom rest_framework_simple_api_key.backends import APIKeyAuthentication\nfrom rest_framework.response import Response\n\nclass FruitViewSets(viewsets.ViewSet):\n http_method_names = ["get"]\n authentication_classes = (APIKeyAuthentication, )\n\n def list(self, request):\n return Response([{"detail": True}], 200 )\n```\n\n## Generate a Fernet Key\nWe\'ve made it easier for you by creating a custom Django command to quickly generate a fernet key, which is a **crucial component** in the authentication system. Make sure to keep the key secure and store it somewhere safely (ie: environment variable). \n\n**Important βοΈ** : You should treat the `FERNET_KEY` security at the same level as the Django `SECRET_KEY`. π«‘\n\nTo generate the fernet key use the following command:\n\n```python\npython manage.py generate_fernet_key\n```\n\n## Rotation\n\nWe implement an API key rotation strategy for this package. To learn more about it, refer to the documentation at https://djangorestframework-simple-apikey.readthedocs.io/en/latest/rotation.html.\n\n## Demo\n\nYou can find a demo in project in the `example` directory. To run the project, you can :\n\n```shell\ncd example\npip install -r requirements.txt\n\npython manage.py migrate\npython manage.py runserver\n```\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CHANGELOG.md).\n\n## Contributing\n\nThank you for your interest in contributing to the project! Here\'s a guide to help you get started:\n\n- **Setup Development Environment:** \n ```bash\n git clone https://github.com/koladev32/djangorestframework-simple-apikey.git\n ``` \n Use the command below to set up your environment:\n ```\n make install\n ```\n\n- **Format the Code:** \n Before submitting any code, please ensure it is formatted according to our standards:\n ```\n make format\n ```\n\n- **Check Code and Migrations:** \n Validate your changes against our checks:\n ```\n make check\n ```\n\n- **Run Migrations:** \n If your changes include database migrations, run the following:\n ```\n make migrations\n ```\n\n- **Run Tests:** \n Always make sure your changes pass all our tests:\n ```\n make test\n ```\n\nSee [CONTRIBUTING.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CONTRIBUTING.md).'` 2023-09-29T09:32:18,168 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,169 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:32:18,170 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,171 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,172 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,173 follow strictly the standard. 2023-09-29T09:32:18,174 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:32:18,175 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,175 configuration. 2023-09-29T09:32:18,176 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,177 or your builds will no longer be supported. 2023-09-29T09:32:18,178 ******************************************************************************** 2023-09-29T09:32:18,179 !! 2023-09-29T09:32:18,179 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,180 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `license` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,181 !! 2023-09-29T09:32:18,182 ******************************************************************************** 2023-09-29T09:32:18,183 ########################################################################## 2023-09-29T09:32:18,184 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,184 ########################################################################## 2023-09-29T09:32:18,185 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,187 `license = 'MIT'` 2023-09-29T09:32:18,188 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,189 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:32:18,190 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,191 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,192 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,192 follow strictly the standard. 2023-09-29T09:32:18,193 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:32:18,194 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,194 configuration. 2023-09-29T09:32:18,195 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,196 or your builds will no longer be supported. 2023-09-29T09:32:18,196 ******************************************************************************** 2023-09-29T09:32:18,197 !! 2023-09-29T09:32:18,197 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,198 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `authors` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,198 !! 2023-09-29T09:32:18,199 ******************************************************************************** 2023-09-29T09:32:18,200 ########################################################################## 2023-09-29T09:32:18,200 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,201 ########################################################################## 2023-09-29T09:32:18,202 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,203 `authors = 'Kolawole Mangabo'` 2023-09-29T09:32:18,204 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,205 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:32:18,206 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,207 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,208 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,209 follow strictly the standard. 2023-09-29T09:32:18,210 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:32:18,210 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,211 configuration. 2023-09-29T09:32:18,212 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,213 or your builds will no longer be supported. 2023-09-29T09:32:18,213 ******************************************************************************** 2023-09-29T09:32:18,215 !! 2023-09-29T09:32:18,215 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,216 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `classifiers` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,216 !! 2023-09-29T09:32:18,217 ******************************************************************************** 2023-09-29T09:32:18,218 ########################################################################## 2023-09-29T09:32:18,218 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,219 ########################################################################## 2023-09-29T09:32:18,220 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,221 `classifiers = ['Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules']` 2023-09-29T09:32:18,222 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,223 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:32:18,224 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,224 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,225 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,225 follow strictly the standard. 2023-09-29T09:32:18,226 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:32:18,227 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,227 configuration. 2023-09-29T09:32:18,228 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,229 or your builds will no longer be supported. 2023-09-29T09:32:18,229 ******************************************************************************** 2023-09-29T09:32:18,230 !! 2023-09-29T09:32:18,231 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,231 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,232 !! 2023-09-29T09:32:18,233 ******************************************************************************** 2023-09-29T09:32:18,233 ########################################################################## 2023-09-29T09:32:18,234 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,235 ########################################################################## 2023-09-29T09:32:18,236 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,237 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:32:18,238 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,239 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:32:18,240 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,241 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,241 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,242 follow strictly the standard. 2023-09-29T09:32:18,243 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:32:18,244 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,244 configuration. 2023-09-29T09:32:18,245 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,246 or your builds will no longer be supported. 2023-09-29T09:32:18,246 ******************************************************************************** 2023-09-29T09:32:18,248 !! 2023-09-29T09:32:18,248 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,249 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `optional-dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:18,249 !! 2023-09-29T09:32:18,251 ******************************************************************************** 2023-09-29T09:32:18,251 ########################################################################## 2023-09-29T09:32:18,252 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:18,252 ########################################################################## 2023-09-29T09:32:18,253 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:18,254 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:32:18,255 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:18,255 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:32:18,256 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:18,257 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:18,258 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:18,258 follow strictly the standard. 2023-09-29T09:32:18,259 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:32:18,259 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:18,260 configuration. 2023-09-29T09:32:18,261 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:18,261 or your builds will no longer be supported. 2023-09-29T09:32:18,262 ******************************************************************************** 2023-09-29T09:32:18,263 !! 2023-09-29T09:32:18,264 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:18,449 running dist_info 2023-09-29T09:32:18,454 creating /tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info 2023-09-29T09:32:18,458 writing /tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:32:18,464 writing dependency_links to /tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:32:18,467 writing requirements to /tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:32:18,468 writing top-level names to /tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:32:18,469 writing manifest file '/tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:18,485 reading manifest file '/tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:18,487 adding license file 'LICENSE' 2023-09-29T09:32:18,489 writing manifest file '/tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:18,490 creating '/tmp/pip-modern-metadata-jdzm2pbm/djangorestframework_simple_apikey-1.0.0.dist-info' 2023-09-29T09:32:18,638 Preparing metadata (pyproject.toml): finished with status 'done' 2023-09-29T09:32:18,643 Source in /tmp/pip-wheel-4kr9mbue/djangorestframework-simple-apikey_f9bbaf423ca64f548ec4a3e3ff250638 has version 1.0.0, which satisfies requirement djangorestframework-simple-apikey==1.0.0 from https://files.pythonhosted.org/packages/d4/70/8a33e4e6575c85286642d2a7b382faf3864759ba5aedc469c6a98020c692/djangorestframework-simple-apikey-1.0.0.tar.gz 2023-09-29T09:32:18,644 Removed djangorestframework-simple-apikey==1.0.0 from https://files.pythonhosted.org/packages/d4/70/8a33e4e6575c85286642d2a7b382faf3864759ba5aedc469c6a98020c692/djangorestframework-simple-apikey-1.0.0.tar.gz from build tracker '/tmp/pip-build-tracker-j2n1vsy9' 2023-09-29T09:32:18,648 Created temporary directory: /tmp/pip-unpack-0ywn3sb2 2023-09-29T09:32:18,650 Created temporary directory: /tmp/pip-unpack-mggcr8a4 2023-09-29T09:32:18,672 Building wheels for collected packages: djangorestframework-simple-apikey 2023-09-29T09:32:18,676 Created temporary directory: /tmp/pip-wheel-ouo_jeva 2023-09-29T09:32:18,677 Destination directory: /tmp/pip-wheel-ouo_jeva 2023-09-29T09:32:18,679 Building wheel for djangorestframework-simple-apikey (pyproject.toml): started 2023-09-29T09:32:18,680 Running command Building wheel for djangorestframework-simple-apikey (pyproject.toml) 2023-09-29T09:32:19,210 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `description` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,210 !! 2023-09-29T09:32:19,211 ******************************************************************************** 2023-09-29T09:32:19,212 ########################################################################## 2023-09-29T09:32:19,212 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,213 ########################################################################## 2023-09-29T09:32:19,214 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,215 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:32:19,216 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,216 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:32:19,217 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,219 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,219 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,220 follow strictly the standard. 2023-09-29T09:32:19,221 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:32:19,222 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,222 configuration. 2023-09-29T09:32:19,223 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,224 or your builds will no longer be supported. 2023-09-29T09:32:19,225 ******************************************************************************** 2023-09-29T09:32:19,226 !! 2023-09-29T09:32:19,227 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,227 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `readme` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,228 !! 2023-09-29T09:32:19,229 ******************************************************************************** 2023-09-29T09:32:19,230 ########################################################################## 2023-09-29T09:32:19,230 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,231 ########################################################################## 2023-09-29T09:32:19,232 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,233 `readme = '# Django REST Framework Simple API Key π\n\nDjango REST Framework Simple API Key is a fast and secure API Key authentication plugin for REST API built with [Django Rest Framework](https://www.django-rest-framework.org/).\n\n\n\nFor the full documentation, visit [https://djangorestframework-simple-apikey.readthedocs.io/en/latest/](https://djangorestframework-simple-apikey.readthedocs.io/en/latest/).\n\n## Introduction\n\nDjango REST Simple Api Key is a package built upon Django, Django REST Framework, and the fernet cryptography module to generate, encrypt, and decrypt API keys. It provides fast, secure and customizable API Key authentication.\n\n### Benefits\n\nWhy should you use this package for your API Key authentication?\n\n* β‘**οΈFast**: We use the [fernet](https://cryptography.io/en/latest/fernet/) cryptography module to generate, encrypt, and decrypt API keys. Besides the security facade, it is blazing fast allowing you to treat requests quickly and easily.\n \n* π **Secure**: Fernet guarantees that a message encrypted using it cannot be manipulated or read without the key, which we call `FERNET_KEY`. As long as you treat the fernet key at the same level you treat the Django `SECRET_KEY` setting, you are good to go.\n \n* π§ **Customizable**: The models, authentication backend, and permissions classes can be rewritten and fit your needs. We do our best to extend Django classes and methods, so you can easily extend our classes and methods.π Your Api Key authentication settings are kept in a single configuration dictionary named `SIMPLE_API_KEY` in the `settings.py` file of your Django project. It can be customized to fit your project needs.\n \n\n## Quickstart\n\n1 - Install with `pip`:\n\n```bash\npip install djangorestframework-simple-apikey\n```\n\n2 - Register the app in the `INSTALLED_APPS` in the `settings.py` file:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n # ...\n "rest_framework",\n "rest_framework_simple_api_key",\n]\n```\n\n3- Add the `FERNET_KEY` setting in your `SIMPLE_API_KEY` configuration dictionary. You can easily generate a fernet key using the `python manage.py generate_fernet_key` command. Keep in mind that the fernet key plays a huge role in the api key authentication system.\n\n```python\nSIMPLE_API_KEY = {\n "FERNET_SECRET": "sVjomf7FFy351xRxDeJWFJAZaE2tG3MTuUv92TLFfOA="\n}\n```\n\n4 - Run migrations:\n\n```bash\npython manage.py migrate\n```\n\nIn your view then, you can add the authentication class and the permission class.\n\n> β οΈ **Important Note**: By default, authentication is performed using the `AUTH_USER_MODEL` specified in the settings.py file.\n\n```python\nfrom rest_framework import viewsets\n\nfrom rest_framework_simple_api_key.backends import APIKeyAuthentication\nfrom rest_framework.response import Response\n\nclass FruitViewSets(viewsets.ViewSet):\n http_method_names = ["get"]\n authentication_classes = (APIKeyAuthentication, )\n\n def list(self, request):\n return Response([{"detail": True}], 200 )\n```\n\n## Generate a Fernet Key\nWe\'ve made it easier for you by creating a custom Django command to quickly generate a fernet key, which is a **crucial component** in the authentication system. Make sure to keep the key secure and store it somewhere safely (ie: environment variable). \n\n**Important βοΈ** : You should treat the `FERNET_KEY` security at the same level as the Django `SECRET_KEY`. π«‘\n\nTo generate the fernet key use the following command:\n\n```python\npython manage.py generate_fernet_key\n```\n\n## Rotation\n\nWe implement an API key rotation strategy for this package. To learn more about it, refer to the documentation at https://djangorestframework-simple-apikey.readthedocs.io/en/latest/rotation.html.\n\n## Demo\n\nYou can find a demo in project in the `example` directory. To run the project, you can :\n\n```shell\ncd example\npip install -r requirements.txt\n\npython manage.py migrate\npython manage.py runserver\n```\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CHANGELOG.md).\n\n## Contributing\n\nThank you for your interest in contributing to the project! Here\'s a guide to help you get started:\n\n- **Setup Development Environment:** \n ```bash\n git clone https://github.com/koladev32/djangorestframework-simple-apikey.git\n ``` \n Use the command below to set up your environment:\n ```\n make install\n ```\n\n- **Format the Code:** \n Before submitting any code, please ensure it is formatted according to our standards:\n ```\n make format\n ```\n\n- **Check Code and Migrations:** \n Validate your changes against our checks:\n ```\n make check\n ```\n\n- **Run Migrations:** \n If your changes include database migrations, run the following:\n ```\n make migrations\n ```\n\n- **Run Tests:** \n Always make sure your changes pass all our tests:\n ```\n make test\n ```\n\nSee [CONTRIBUTING.md](https://github.com/koladev32/djangorestframework-simple-apikey/blob/main/CONTRIBUTING.md).'` 2023-09-29T09:32:19,235 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,236 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:32:19,237 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,238 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,238 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,239 follow strictly the standard. 2023-09-29T09:32:19,240 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:32:19,240 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,241 configuration. 2023-09-29T09:32:19,242 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,243 or your builds will no longer be supported. 2023-09-29T09:32:19,243 ******************************************************************************** 2023-09-29T09:32:19,245 !! 2023-09-29T09:32:19,246 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,247 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `license` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,247 !! 2023-09-29T09:32:19,249 ******************************************************************************** 2023-09-29T09:32:19,249 ########################################################################## 2023-09-29T09:32:19,250 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,251 ########################################################################## 2023-09-29T09:32:19,252 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,253 `license = 'MIT'` 2023-09-29T09:32:19,254 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,255 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:32:19,256 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,257 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,258 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,258 follow strictly the standard. 2023-09-29T09:32:19,260 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:32:19,260 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,261 configuration. 2023-09-29T09:32:19,262 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,263 or your builds will no longer be supported. 2023-09-29T09:32:19,264 ******************************************************************************** 2023-09-29T09:32:19,265 !! 2023-09-29T09:32:19,265 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,266 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `authors` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,266 !! 2023-09-29T09:32:19,267 ******************************************************************************** 2023-09-29T09:32:19,267 ########################################################################## 2023-09-29T09:32:19,268 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,268 ########################################################################## 2023-09-29T09:32:19,269 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,270 `authors = 'Kolawole Mangabo'` 2023-09-29T09:32:19,271 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,272 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:32:19,273 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,273 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,274 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,275 follow strictly the standard. 2023-09-29T09:32:19,276 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:32:19,277 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,277 configuration. 2023-09-29T09:32:19,278 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,279 or your builds will no longer be supported. 2023-09-29T09:32:19,279 ******************************************************************************** 2023-09-29T09:32:19,280 !! 2023-09-29T09:32:19,281 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,281 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `classifiers` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,282 !! 2023-09-29T09:32:19,283 ******************************************************************************** 2023-09-29T09:32:19,284 ########################################################################## 2023-09-29T09:32:19,284 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,285 ########################################################################## 2023-09-29T09:32:19,286 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,287 `classifiers = ['Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules']` 2023-09-29T09:32:19,288 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,289 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:32:19,290 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,292 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,292 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,293 follow strictly the standard. 2023-09-29T09:32:19,293 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:32:19,294 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,295 configuration. 2023-09-29T09:32:19,296 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,296 or your builds will no longer be supported. 2023-09-29T09:32:19,296 ******************************************************************************** 2023-09-29T09:32:19,297 !! 2023-09-29T09:32:19,298 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,298 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,299 !! 2023-09-29T09:32:19,300 ******************************************************************************** 2023-09-29T09:32:19,300 ########################################################################## 2023-09-29T09:32:19,300 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,301 ########################################################################## 2023-09-29T09:32:19,302 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,303 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:32:19,305 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,305 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:32:19,306 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,307 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,308 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,309 follow strictly the standard. 2023-09-29T09:32:19,310 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:32:19,310 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,311 configuration. 2023-09-29T09:32:19,312 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,313 or your builds will no longer be supported. 2023-09-29T09:32:19,313 ******************************************************************************** 2023-09-29T09:32:19,315 !! 2023-09-29T09:32:19,315 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,316 /tmp/pip-build-env-iq_k2lxn/overlay/local/lib/python3.11/dist-packages/setuptools/config/_apply_pyprojecttoml.py:73: _WouldIgnoreField: `optional-dependencies` defined outside of `pyproject.toml` would be ignored. 2023-09-29T09:32:19,316 !! 2023-09-29T09:32:19,317 ******************************************************************************** 2023-09-29T09:32:19,318 ########################################################################## 2023-09-29T09:32:19,319 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:32:19,319 ########################################################################## 2023-09-29T09:32:19,320 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:32:19,322 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:32:19,323 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:32:19,324 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:32:19,325 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:32:19,326 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:32:19,326 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:32:19,326 follow strictly the standard. 2023-09-29T09:32:19,327 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:32:19,328 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:32:19,328 configuration. 2023-09-29T09:32:19,329 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:32:19,330 or your builds will no longer be supported. 2023-09-29T09:32:19,330 ******************************************************************************** 2023-09-29T09:32:19,331 !! 2023-09-29T09:32:19,331 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:32:19,503 running bdist_wheel 2023-09-29T09:32:19,520 running build 2023-09-29T09:32:19,520 running build_py 2023-09-29T09:32:19,525 creating build 2023-09-29T09:32:19,525 creating build/lib 2023-09-29T09:32:19,526 creating build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,528 copying rest_framework_simple_api_key/crypto.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,530 copying rest_framework_simple_api_key/admin.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,532 copying rest_framework_simple_api_key/version.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,533 copying rest_framework_simple_api_key/__init__.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,535 copying rest_framework_simple_api_key/backends.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,537 copying rest_framework_simple_api_key/apps.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,539 copying rest_framework_simple_api_key/permissions.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,541 copying rest_framework_simple_api_key/settings.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,543 copying rest_framework_simple_api_key/models.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,546 copying rest_framework_simple_api_key/parser.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,548 copying rest_framework_simple_api_key/mutli_api_crypto.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:32:19,550 creating build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,551 copying rest_framework_simple_api_key/migrations/__init__.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,553 copying rest_framework_simple_api_key/migrations/0001_initial.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,555 copying rest_framework_simple_api_key/migrations/0002_alter_apikey_options.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,558 creating build/lib/rest_framework_simple_api_key/management 2023-09-29T09:32:19,559 copying rest_framework_simple_api_key/management/__init__.py -> build/lib/rest_framework_simple_api_key/management 2023-09-29T09:32:19,561 creating build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,562 copying rest_framework_simple_api_key/rotation/admin.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,565 copying rest_framework_simple_api_key/rotation/__init__.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,567 copying rest_framework_simple_api_key/rotation/apps.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,569 copying rest_framework_simple_api_key/rotation/utils.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,571 copying rest_framework_simple_api_key/rotation/models.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,573 creating build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,574 copying rest_framework_simple_api_key/management/commands/rotation.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,576 copying rest_framework_simple_api_key/management/commands/__init__.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,578 copying rest_framework_simple_api_key/management/commands/generate_fernet_key.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,580 creating build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,581 copying rest_framework_simple_api_key/rotation/migrations/__init__.py -> build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,582 copying rest_framework_simple_api_key/rotation/migrations/0001_initial.py -> build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,584 running egg_info 2023-09-29T09:32:19,587 writing djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:32:19,592 writing dependency_links to djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:32:19,595 writing requirements to djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:32:19,595 writing top-level names to djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:32:19,605 reading manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:19,607 adding license file 'LICENSE' 2023-09-29T09:32:19,610 writing manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:32:19,622 installing to build/bdist.linux-armv7l/wheel 2023-09-29T09:32:19,623 running install 2023-09-29T09:32:19,646 running install_lib 2023-09-29T09:32:19,651 creating build/bdist.linux-armv7l 2023-09-29T09:32:19,652 creating build/bdist.linux-armv7l/wheel 2023-09-29T09:32:19,654 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,655 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,657 copying build/lib/rest_framework_simple_api_key/migrations/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,659 copying build/lib/rest_framework_simple_api_key/migrations/0001_initial.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,661 copying build/lib/rest_framework_simple_api_key/migrations/0002_alter_apikey_options.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/migrations 2023-09-29T09:32:19,663 copying build/lib/rest_framework_simple_api_key/crypto.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,666 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management 2023-09-29T09:32:19,667 copying build/lib/rest_framework_simple_api_key/management/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management 2023-09-29T09:32:19,669 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,671 copying build/lib/rest_framework_simple_api_key/management/commands/rotation.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,673 copying build/lib/rest_framework_simple_api_key/management/commands/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,674 copying build/lib/rest_framework_simple_api_key/management/commands/generate_fernet_key.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management/commands 2023-09-29T09:32:19,676 copying build/lib/rest_framework_simple_api_key/admin.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,678 copying build/lib/rest_framework_simple_api_key/version.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,679 copying build/lib/rest_framework_simple_api_key/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,681 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,683 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,684 copying build/lib/rest_framework_simple_api_key/rotation/migrations/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,685 copying build/lib/rest_framework_simple_api_key/rotation/migrations/0001_initial.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:32:19,687 copying build/lib/rest_framework_simple_api_key/rotation/admin.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,688 copying build/lib/rest_framework_simple_api_key/rotation/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,690 copying build/lib/rest_framework_simple_api_key/rotation/apps.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,692 copying build/lib/rest_framework_simple_api_key/rotation/utils.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,693 copying build/lib/rest_framework_simple_api_key/rotation/models.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:32:19,695 copying build/lib/rest_framework_simple_api_key/backends.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,697 copying build/lib/rest_framework_simple_api_key/apps.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,699 copying build/lib/rest_framework_simple_api_key/permissions.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,700 copying build/lib/rest_framework_simple_api_key/settings.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,702 copying build/lib/rest_framework_simple_api_key/models.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,704 copying build/lib/rest_framework_simple_api_key/parser.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,706 copying build/lib/rest_framework_simple_api_key/mutli_api_crypto.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:32:19,707 running install_egg_info 2023-09-29T09:32:19,711 Copying djangorestframework_simple_apikey.egg-info to build/bdist.linux-armv7l/wheel/djangorestframework_simple_apikey-1.0.0-py3.11.egg-info 2023-09-29T09:32:19,723 running install_scripts 2023-09-29T09:32:19,739 creating build/bdist.linux-armv7l/wheel/djangorestframework_simple_apikey-1.0.0.dist-info/WHEEL 2023-09-29T09:32:19,741 creating '/tmp/pip-wheel-ouo_jeva/.tmp-8yiuhti6/djangorestframework_simple_apikey-1.0.0-py2.py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-09-29T09:32:19,744 adding 'rest_framework_simple_api_key/__init__.py' 2023-09-29T09:32:19,746 adding 'rest_framework_simple_api_key/admin.py' 2023-09-29T09:32:19,747 adding 'rest_framework_simple_api_key/apps.py' 2023-09-29T09:32:19,748 adding 'rest_framework_simple_api_key/backends.py' 2023-09-29T09:32:19,750 adding 'rest_framework_simple_api_key/crypto.py' 2023-09-29T09:32:19,751 adding 'rest_framework_simple_api_key/models.py' 2023-09-29T09:32:19,753 adding 'rest_framework_simple_api_key/mutli_api_crypto.py' 2023-09-29T09:32:19,754 adding 'rest_framework_simple_api_key/parser.py' 2023-09-29T09:32:19,755 adding 'rest_framework_simple_api_key/permissions.py' 2023-09-29T09:32:19,756 adding 'rest_framework_simple_api_key/settings.py' 2023-09-29T09:32:19,757 adding 'rest_framework_simple_api_key/version.py' 2023-09-29T09:32:19,759 adding 'rest_framework_simple_api_key/management/__init__.py' 2023-09-29T09:32:19,760 adding 'rest_framework_simple_api_key/management/commands/__init__.py' 2023-09-29T09:32:19,761 adding 'rest_framework_simple_api_key/management/commands/generate_fernet_key.py' 2023-09-29T09:32:19,762 adding 'rest_framework_simple_api_key/management/commands/rotation.py' 2023-09-29T09:32:19,764 adding 'rest_framework_simple_api_key/migrations/0001_initial.py' 2023-09-29T09:32:19,765 adding 'rest_framework_simple_api_key/migrations/0002_alter_apikey_options.py' 2023-09-29T09:32:19,766 adding 'rest_framework_simple_api_key/migrations/__init__.py' 2023-09-29T09:32:19,768 adding 'rest_framework_simple_api_key/rotation/__init__.py' 2023-09-29T09:32:19,769 adding 'rest_framework_simple_api_key/rotation/admin.py' 2023-09-29T09:32:19,770 adding 'rest_framework_simple_api_key/rotation/apps.py' 2023-09-29T09:32:19,772 adding 'rest_framework_simple_api_key/rotation/models.py' 2023-09-29T09:32:19,773 adding 'rest_framework_simple_api_key/rotation/utils.py' 2023-09-29T09:32:19,774 adding 'rest_framework_simple_api_key/rotation/migrations/0001_initial.py' 2023-09-29T09:32:19,775 adding 'rest_framework_simple_api_key/rotation/migrations/__init__.py' 2023-09-29T09:32:19,777 adding 'djangorestframework_simple_apikey-1.0.0.dist-info/LICENSE' 2023-09-29T09:32:19,779 adding 'djangorestframework_simple_apikey-1.0.0.dist-info/METADATA' 2023-09-29T09:32:19,780 adding 'djangorestframework_simple_apikey-1.0.0.dist-info/WHEEL' 2023-09-29T09:32:19,781 adding 'djangorestframework_simple_apikey-1.0.0.dist-info/top_level.txt' 2023-09-29T09:32:19,782 adding 'djangorestframework_simple_apikey-1.0.0.dist-info/RECORD' 2023-09-29T09:32:19,784 removing build/bdist.linux-armv7l/wheel 2023-09-29T09:32:19,910 Building wheel for djangorestframework-simple-apikey (pyproject.toml): finished with status 'done' 2023-09-29T09:32:19,915 Created wheel for djangorestframework-simple-apikey: filename=djangorestframework_simple_apikey-1.0.0-py2.py3-none-any.whl size=22215 sha256=f3a80ab51f0d3a93a6ecd1a5c3dabcb397722f7349393e359cb5e0b8d4d1fc29 2023-09-29T09:32:19,916 Stored in directory: /tmp/pip-ephem-wheel-cache-60swnj7z/wheels/2a/1c/28/8930dc537cdaf9dd341aab941819850518f312ff808a6ae663 2023-09-29T09:32:19,929 Successfully built djangorestframework-simple-apikey 2023-09-29T09:32:19,933 Removed build tracker: '/tmp/pip-build-tracker-j2n1vsy9'