2023-09-29T09:32:59,870 Created temporary directory: /tmp/pip-build-tracker-hxqvauxw 2023-09-29T09:32:59,871 Initialized build tracking at /tmp/pip-build-tracker-hxqvauxw 2023-09-29T09:32:59,871 Created build tracker: /tmp/pip-build-tracker-hxqvauxw 2023-09-29T09:32:59,872 Entered build tracker: /tmp/pip-build-tracker-hxqvauxw 2023-09-29T09:32:59,873 Created temporary directory: /tmp/pip-wheel-qroki7sj 2023-09-29T09:32:59,876 Created temporary directory: /tmp/pip-ephem-wheel-cache-rydcqeo_ 2023-09-29T09:32:59,897 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-29T09:32:59,901 2 location(s) to search for versions of djangorestframework-simple-apikey: 2023-09-29T09:32:59,901 * https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:59,901 * https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:59,902 Fetching project page and analyzing links: https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:59,903 Getting page https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:32:59,904 Found index url https://pypi.org/simple/ 2023-09-29T09:33:00,043 Fetched page https://pypi.org/simple/djangorestframework-simple-apikey/ as application/vnd.pypi.simple.v1+json 2023-09-29T09:33:00,048 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:33:00,049 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:33:00,049 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:33:00,050 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:33:00,050 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:33:00,051 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:33:00,052 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:33:00,053 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:33:00,053 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:33:00,054 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:33:00,055 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:33:00,056 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:33:00,056 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:33:00,057 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:33:00,057 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:33:00,058 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:33:00,058 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:33:00,059 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:33:00,060 Fetching project page and analyzing links: https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:33:00,060 Getting page https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:33:00,062 Found index url https://www.piwheels.org/simple/ 2023-09-29T09:33:00,224 Fetched page https://www.piwheels.org/simple/djangorestframework-simple-apikey/ as text/html 2023-09-29T09:33:00,227 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:33:00,228 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:33:00,229 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:33:00,229 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:33:00,230 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:33:00,231 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:33:00,231 Skipping link: not a file: https://www.piwheels.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:33:00,232 Skipping link: not a file: https://pypi.org/simple/djangorestframework-simple-apikey/ 2023-09-29T09:33:00,250 Given no hashes to check 1 links for project 'djangorestframework-simple-apikey': discarding no candidates 2023-09-29T09:33:00,268 Collecting djangorestframework-simple-apikey==1.0.1 2023-09-29T09:33:00,270 Created temporary directory: /tmp/pip-unpack-9lc53ury 2023-09-29T09:33:00,495 Downloading djangorestframework-simple-apikey-1.0.1.tar.gz (18 kB) 2023-09-29T09:33:00,577 Added djangorestframework-simple-apikey==1.0.1 from https://files.pythonhosted.org/packages/36/8f/f48e3f288a32d3ec46585f94fa1c91713dcc59abdff8c21d9f3527570f5a/djangorestframework-simple-apikey-1.0.1.tar.gz to build tracker '/tmp/pip-build-tracker-hxqvauxw' 2023-09-29T09:33:00,581 Created temporary directory: /tmp/pip-build-env-lr84n137 2023-09-29T09:33:00,585 Installing build dependencies: started 2023-09-29T09:33:00,587 Running command pip subprocess to install build dependencies 2023-09-29T09:33:01,722 Using pip 23.2.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11) 2023-09-29T09:33:02,227 Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple 2023-09-29T09:33:03,781 Collecting setuptools>=61.0.0 2023-09-29T09:33:03,875 Using cached https://www.piwheels.org/simple/setuptools/setuptools-68.2.2-py3-none-any.whl (807 kB) 2023-09-29T09:33:04,110 Collecting wheel 2023-09-29T09:33:04,126 Using cached https://www.piwheels.org/simple/wheel/wheel-0.41.2-py3-none-any.whl (64 kB) 2023-09-29T09:33:06,685 Installing collected packages: wheel, setuptools 2023-09-29T09:33:06,903 Creating /tmp/pip-build-env-lr84n137/overlay/local/bin 2023-09-29T09:33:06,905 changing mode of /tmp/pip-build-env-lr84n137/overlay/local/bin/wheel to 755 2023-09-29T09:33:09,093 Successfully installed setuptools-68.2.2 wheel-0.41.2 2023-09-29T09:33:09,660 Installing build dependencies: finished with status 'done' 2023-09-29T09:33:09,663 Getting requirements to build wheel: started 2023-09-29T09:33:09,665 Running command Getting requirements to build wheel 2023-09-29T09:33:10,273 /tmp/pip-build-env-lr84n137/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:33:10,273 !! 2023-09-29T09:33:10,275 ******************************************************************************** 2023-09-29T09:33:10,275 ########################################################################## 2023-09-29T09:33:10,276 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,277 ########################################################################## 2023-09-29T09:33:10,278 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,279 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:33:10,280 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,280 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:33:10,281 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,282 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,282 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,283 follow strictly the standard. 2023-09-29T09:33:10,284 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:33:10,284 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,285 configuration. 2023-09-29T09:33:10,286 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,286 or your builds will no longer be supported. 2023-09-29T09:33:10,287 ******************************************************************************** 2023-09-29T09:33:10,288 !! 2023-09-29T09:33:10,288 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,289 /tmp/pip-build-env-lr84n137/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:33:10,289 !! 2023-09-29T09:33:10,290 ******************************************************************************** 2023-09-29T09:33:10,291 ########################################################################## 2023-09-29T09:33:10,292 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,292 ########################################################################## 2023-09-29T09:33:10,293 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,295 `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:33:10,297 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,298 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:33:10,299 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,300 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,300 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,301 follow strictly the standard. 2023-09-29T09:33:10,302 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:33:10,302 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,302 configuration. 2023-09-29T09:33:10,303 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,304 or your builds will no longer be supported. 2023-09-29T09:33:10,304 ******************************************************************************** 2023-09-29T09:33:10,305 !! 2023-09-29T09:33:10,305 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,306 /tmp/pip-build-env-lr84n137/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:33:10,306 !! 2023-09-29T09:33:10,307 ******************************************************************************** 2023-09-29T09:33:10,308 ########################################################################## 2023-09-29T09:33:10,308 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,309 ########################################################################## 2023-09-29T09:33:10,310 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,311 `license = 'MIT'` 2023-09-29T09:33:10,312 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,313 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:33:10,314 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,315 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,316 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,317 follow strictly the standard. 2023-09-29T09:33:10,318 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:33:10,319 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,319 configuration. 2023-09-29T09:33:10,320 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,321 or your builds will no longer be supported. 2023-09-29T09:33:10,321 ******************************************************************************** 2023-09-29T09:33:10,323 !! 2023-09-29T09:33:10,323 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,324 /tmp/pip-build-env-lr84n137/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:33:10,324 !! 2023-09-29T09:33:10,326 ******************************************************************************** 2023-09-29T09:33:10,326 ########################################################################## 2023-09-29T09:33:10,327 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,327 ########################################################################## 2023-09-29T09:33:10,329 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,330 `authors = 'Kolawole Mangabo'` 2023-09-29T09:33:10,331 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,331 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:33:10,332 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,333 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,334 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,334 follow strictly the standard. 2023-09-29T09:33:10,335 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:33:10,336 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,336 configuration. 2023-09-29T09:33:10,337 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,338 or your builds will no longer be supported. 2023-09-29T09:33:10,338 ******************************************************************************** 2023-09-29T09:33:10,339 !! 2023-09-29T09:33:10,340 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,340 /tmp/pip-build-env-lr84n137/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:33:10,340 !! 2023-09-29T09:33:10,341 ******************************************************************************** 2023-09-29T09:33:10,342 ########################################################################## 2023-09-29T09:33:10,342 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,343 ########################################################################## 2023-09-29T09:33:10,344 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,346 `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:33:10,347 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,347 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:33:10,348 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,349 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,349 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,350 follow strictly the standard. 2023-09-29T09:33:10,351 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:33:10,352 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,352 configuration. 2023-09-29T09:33:10,353 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,354 or your builds will no longer be supported. 2023-09-29T09:33:10,354 ******************************************************************************** 2023-09-29T09:33:10,355 !! 2023-09-29T09:33:10,356 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,357 /tmp/pip-build-env-lr84n137/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:33:10,357 !! 2023-09-29T09:33:10,358 ******************************************************************************** 2023-09-29T09:33:10,359 ########################################################################## 2023-09-29T09:33:10,359 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,360 ########################################################################## 2023-09-29T09:33:10,360 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,361 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:33:10,362 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,363 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:33:10,364 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,364 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,365 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,365 follow strictly the standard. 2023-09-29T09:33:10,366 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:33:10,367 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,367 configuration. 2023-09-29T09:33:10,368 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,369 or your builds will no longer be supported. 2023-09-29T09:33:10,369 ******************************************************************************** 2023-09-29T09:33:10,370 !! 2023-09-29T09:33:10,371 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,372 /tmp/pip-build-env-lr84n137/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:33:10,372 !! 2023-09-29T09:33:10,373 ******************************************************************************** 2023-09-29T09:33:10,374 ########################################################################## 2023-09-29T09:33:10,374 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:10,375 ########################################################################## 2023-09-29T09:33:10,376 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:10,377 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:33:10,378 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:10,379 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:33:10,380 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:10,381 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:10,381 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:10,382 follow strictly the standard. 2023-09-29T09:33:10,383 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:33:10,384 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:10,384 configuration. 2023-09-29T09:33:10,385 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:10,386 or your builds will no longer be supported. 2023-09-29T09:33:10,387 ******************************************************************************** 2023-09-29T09:33:10,388 !! 2023-09-29T09:33:10,388 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:10,585 running egg_info 2023-09-29T09:33:10,589 writing djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:33:10,595 writing dependency_links to djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:33:10,598 writing requirements to djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:33:10,599 writing top-level names to djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:33:10,616 reading manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:10,618 adding license file 'LICENSE' 2023-09-29T09:33:10,622 writing manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:10,739 Getting requirements to build wheel: finished with status 'done' 2023-09-29T09:33:10,749 Created temporary directory: /tmp/pip-modern-metadata-0yxhsg_l 2023-09-29T09:33:10,751 Preparing metadata (pyproject.toml): started 2023-09-29T09:33:10,752 Running command Preparing metadata (pyproject.toml) 2023-09-29T09:33:11,302 /tmp/pip-build-env-lr84n137/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:33:11,302 !! 2023-09-29T09:33:11,303 ******************************************************************************** 2023-09-29T09:33:11,304 ########################################################################## 2023-09-29T09:33:11,304 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,305 ########################################################################## 2023-09-29T09:33:11,306 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,307 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:33:11,308 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,309 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:33:11,310 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,311 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,312 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,312 follow strictly the standard. 2023-09-29T09:33:11,314 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:33:11,314 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,315 configuration. 2023-09-29T09:33:11,316 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,316 or your builds will no longer be supported. 2023-09-29T09:33:11,317 ******************************************************************************** 2023-09-29T09:33:11,318 !! 2023-09-29T09:33:11,319 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,319 /tmp/pip-build-env-lr84n137/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:33:11,320 !! 2023-09-29T09:33:11,321 ******************************************************************************** 2023-09-29T09:33:11,322 ########################################################################## 2023-09-29T09:33:11,322 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,323 ########################################################################## 2023-09-29T09:33:11,324 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,325 `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:33:11,327 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,327 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:33:11,329 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,330 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,330 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,331 follow strictly the standard. 2023-09-29T09:33:11,332 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:33:11,332 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,333 configuration. 2023-09-29T09:33:11,334 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,334 or your builds will no longer be supported. 2023-09-29T09:33:11,335 ******************************************************************************** 2023-09-29T09:33:11,336 !! 2023-09-29T09:33:11,337 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,337 /tmp/pip-build-env-lr84n137/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:33:11,338 !! 2023-09-29T09:33:11,339 ******************************************************************************** 2023-09-29T09:33:11,340 ########################################################################## 2023-09-29T09:33:11,340 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,341 ########################################################################## 2023-09-29T09:33:11,343 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,344 `license = 'MIT'` 2023-09-29T09:33:11,345 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,346 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:33:11,347 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,349 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,349 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,350 follow strictly the standard. 2023-09-29T09:33:11,351 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:33:11,351 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,352 configuration. 2023-09-29T09:33:11,352 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,353 or your builds will no longer be supported. 2023-09-29T09:33:11,354 ******************************************************************************** 2023-09-29T09:33:11,355 !! 2023-09-29T09:33:11,355 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,356 /tmp/pip-build-env-lr84n137/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:33:11,356 !! 2023-09-29T09:33:11,357 ******************************************************************************** 2023-09-29T09:33:11,357 ########################################################################## 2023-09-29T09:33:11,358 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,358 ########################################################################## 2023-09-29T09:33:11,359 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,360 `authors = 'Kolawole Mangabo'` 2023-09-29T09:33:11,362 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,363 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:33:11,364 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,366 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,366 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,367 follow strictly the standard. 2023-09-29T09:33:11,368 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:33:11,368 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,369 configuration. 2023-09-29T09:33:11,370 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,371 or your builds will no longer be supported. 2023-09-29T09:33:11,371 ******************************************************************************** 2023-09-29T09:33:11,373 !! 2023-09-29T09:33:11,373 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,374 /tmp/pip-build-env-lr84n137/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:33:11,374 !! 2023-09-29T09:33:11,375 ******************************************************************************** 2023-09-29T09:33:11,376 ########################################################################## 2023-09-29T09:33:11,376 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,377 ########################################################################## 2023-09-29T09:33:11,378 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,379 `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:33:11,380 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,381 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:33:11,381 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,382 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,383 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,383 follow strictly the standard. 2023-09-29T09:33:11,384 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:33:11,384 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,385 configuration. 2023-09-29T09:33:11,386 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,386 or your builds will no longer be supported. 2023-09-29T09:33:11,387 ******************************************************************************** 2023-09-29T09:33:11,388 !! 2023-09-29T09:33:11,388 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,389 /tmp/pip-build-env-lr84n137/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:33:11,389 !! 2023-09-29T09:33:11,391 ******************************************************************************** 2023-09-29T09:33:11,391 ########################################################################## 2023-09-29T09:33:11,392 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,393 ########################################################################## 2023-09-29T09:33:11,394 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,395 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:33:11,396 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,397 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:33:11,398 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,399 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,400 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,400 follow strictly the standard. 2023-09-29T09:33:11,401 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:33:11,402 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,402 configuration. 2023-09-29T09:33:11,403 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,404 or your builds will no longer be supported. 2023-09-29T09:33:11,404 ******************************************************************************** 2023-09-29T09:33:11,406 !! 2023-09-29T09:33:11,406 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,407 /tmp/pip-build-env-lr84n137/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:33:11,407 !! 2023-09-29T09:33:11,408 ******************************************************************************** 2023-09-29T09:33:11,409 ########################################################################## 2023-09-29T09:33:11,409 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:11,410 ########################################################################## 2023-09-29T09:33:11,411 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:11,412 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:33:11,412 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:11,413 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:33:11,414 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:11,415 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:11,415 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:11,415 follow strictly the standard. 2023-09-29T09:33:11,416 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:33:11,417 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:11,417 configuration. 2023-09-29T09:33:11,418 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:11,419 or your builds will no longer be supported. 2023-09-29T09:33:11,419 ******************************************************************************** 2023-09-29T09:33:11,420 !! 2023-09-29T09:33:11,421 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:11,608 running dist_info 2023-09-29T09:33:11,612 creating /tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info 2023-09-29T09:33:11,616 writing /tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:33:11,622 writing dependency_links to /tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:33:11,625 writing requirements to /tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:33:11,626 writing top-level names to /tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:33:11,628 writing manifest file '/tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:11,643 reading manifest file '/tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:11,645 adding license file 'LICENSE' 2023-09-29T09:33:11,648 writing manifest file '/tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:11,649 creating '/tmp/pip-modern-metadata-0yxhsg_l/djangorestframework_simple_apikey-1.0.1.dist-info' 2023-09-29T09:33:11,797 Preparing metadata (pyproject.toml): finished with status 'done' 2023-09-29T09:33:11,802 Source in /tmp/pip-wheel-qroki7sj/djangorestframework-simple-apikey_97f9b516061c445faabbcc35a953ea41 has version 1.0.1, which satisfies requirement djangorestframework-simple-apikey==1.0.1 from https://files.pythonhosted.org/packages/36/8f/f48e3f288a32d3ec46585f94fa1c91713dcc59abdff8c21d9f3527570f5a/djangorestframework-simple-apikey-1.0.1.tar.gz 2023-09-29T09:33:11,803 Removed djangorestframework-simple-apikey==1.0.1 from https://files.pythonhosted.org/packages/36/8f/f48e3f288a32d3ec46585f94fa1c91713dcc59abdff8c21d9f3527570f5a/djangorestframework-simple-apikey-1.0.1.tar.gz from build tracker '/tmp/pip-build-tracker-hxqvauxw' 2023-09-29T09:33:11,807 Created temporary directory: /tmp/pip-unpack-8m182xvi 2023-09-29T09:33:11,808 Created temporary directory: /tmp/pip-unpack-hpphrdyy 2023-09-29T09:33:11,831 Building wheels for collected packages: djangorestframework-simple-apikey 2023-09-29T09:33:11,835 Created temporary directory: /tmp/pip-wheel-6enmi48k 2023-09-29T09:33:11,836 Destination directory: /tmp/pip-wheel-6enmi48k 2023-09-29T09:33:11,837 Building wheel for djangorestframework-simple-apikey (pyproject.toml): started 2023-09-29T09:33:11,839 Running command Building wheel for djangorestframework-simple-apikey (pyproject.toml) 2023-09-29T09:33:12,351 /tmp/pip-build-env-lr84n137/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:33:12,351 !! 2023-09-29T09:33:12,352 ******************************************************************************** 2023-09-29T09:33:12,353 ########################################################################## 2023-09-29T09:33:12,353 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,354 ########################################################################## 2023-09-29T09:33:12,355 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,356 `description = 'API Key authentication and permissions for Django REST.'` 2023-09-29T09:33:12,357 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,357 consider this value unless `description` is listed as `dynamic`. 2023-09-29T09:33:12,359 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,360 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,360 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,361 follow strictly the standard. 2023-09-29T09:33:12,362 To prevent this warning, you can list `description` under `dynamic` or alternatively 2023-09-29T09:33:12,363 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,363 configuration. 2023-09-29T09:33:12,365 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,365 or your builds will no longer be supported. 2023-09-29T09:33:12,366 ******************************************************************************** 2023-09-29T09:33:12,367 !! 2023-09-29T09:33:12,368 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,368 /tmp/pip-build-env-lr84n137/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:33:12,369 !! 2023-09-29T09:33:12,370 ******************************************************************************** 2023-09-29T09:33:12,371 ########################################################################## 2023-09-29T09:33:12,371 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,372 ########################################################################## 2023-09-29T09:33:12,373 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,374 `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:33:12,376 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,377 consider this value unless `readme` is listed as `dynamic`. 2023-09-29T09:33:12,378 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,379 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,379 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,380 follow strictly the standard. 2023-09-29T09:33:12,381 To prevent this warning, you can list `readme` under `dynamic` or alternatively 2023-09-29T09:33:12,381 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,382 configuration. 2023-09-29T09:33:12,383 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,384 or your builds will no longer be supported. 2023-09-29T09:33:12,384 ******************************************************************************** 2023-09-29T09:33:12,386 !! 2023-09-29T09:33:12,387 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,388 /tmp/pip-build-env-lr84n137/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:33:12,389 !! 2023-09-29T09:33:12,390 ******************************************************************************** 2023-09-29T09:33:12,391 ########################################################################## 2023-09-29T09:33:12,391 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,392 ########################################################################## 2023-09-29T09:33:12,393 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,395 `license = 'MIT'` 2023-09-29T09:33:12,396 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,396 consider this value unless `license` is listed as `dynamic`. 2023-09-29T09:33:12,398 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,399 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,400 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,400 follow strictly the standard. 2023-09-29T09:33:12,402 To prevent this warning, you can list `license` under `dynamic` or alternatively 2023-09-29T09:33:12,403 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,403 configuration. 2023-09-29T09:33:12,405 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,405 or your builds will no longer be supported. 2023-09-29T09:33:12,406 ******************************************************************************** 2023-09-29T09:33:12,407 !! 2023-09-29T09:33:12,408 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,408 /tmp/pip-build-env-lr84n137/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:33:12,409 !! 2023-09-29T09:33:12,410 ******************************************************************************** 2023-09-29T09:33:12,410 ########################################################################## 2023-09-29T09:33:12,411 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,411 ########################################################################## 2023-09-29T09:33:12,412 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,413 `authors = 'Kolawole Mangabo'` 2023-09-29T09:33:12,414 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,415 consider this value unless `authors` is listed as `dynamic`. 2023-09-29T09:33:12,416 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,417 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,417 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,418 follow strictly the standard. 2023-09-29T09:33:12,419 To prevent this warning, you can list `authors` under `dynamic` or alternatively 2023-09-29T09:33:12,419 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,420 configuration. 2023-09-29T09:33:12,421 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,422 or your builds will no longer be supported. 2023-09-29T09:33:12,422 ******************************************************************************** 2023-09-29T09:33:12,423 !! 2023-09-29T09:33:12,424 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,424 /tmp/pip-build-env-lr84n137/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:33:12,425 !! 2023-09-29T09:33:12,426 ******************************************************************************** 2023-09-29T09:33:12,427 ########################################################################## 2023-09-29T09:33:12,428 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,428 ########################################################################## 2023-09-29T09:33:12,430 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,431 `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:33:12,432 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,433 consider this value unless `classifiers` is listed as `dynamic`. 2023-09-29T09:33:12,434 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,436 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,436 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,437 follow strictly the standard. 2023-09-29T09:33:12,438 To prevent this warning, you can list `classifiers` under `dynamic` or alternatively 2023-09-29T09:33:12,438 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,439 configuration. 2023-09-29T09:33:12,440 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,440 or your builds will no longer be supported. 2023-09-29T09:33:12,441 ******************************************************************************** 2023-09-29T09:33:12,442 !! 2023-09-29T09:33:12,442 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,443 /tmp/pip-build-env-lr84n137/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:33:12,443 !! 2023-09-29T09:33:12,444 ******************************************************************************** 2023-09-29T09:33:12,445 ########################################################################## 2023-09-29T09:33:12,445 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,446 ########################################################################## 2023-09-29T09:33:12,447 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,448 `dependencies = ['django >= 4.2', 'djangorestframework >= 3.14.0', 'cryptography >= 38.0.4']` 2023-09-29T09:33:12,449 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,450 consider this value unless `dependencies` is listed as `dynamic`. 2023-09-29T09:33:12,451 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,452 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,453 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,454 follow strictly the standard. 2023-09-29T09:33:12,455 To prevent this warning, you can list `dependencies` under `dynamic` or alternatively 2023-09-29T09:33:12,456 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,456 configuration. 2023-09-29T09:33:12,458 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,458 or your builds will no longer be supported. 2023-09-29T09:33:12,459 ******************************************************************************** 2023-09-29T09:33:12,460 !! 2023-09-29T09:33:12,461 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,461 /tmp/pip-build-env-lr84n137/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:33:12,462 !! 2023-09-29T09:33:12,463 ******************************************************************************** 2023-09-29T09:33:12,464 ########################################################################## 2023-09-29T09:33:12,464 # configuration would be ignored/result in error due to `pyproject.toml` # 2023-09-29T09:33:12,465 ########################################################################## 2023-09-29T09:33:12,467 The following seems to be defined outside of `pyproject.toml`: 2023-09-29T09:33:12,468 `optional-dependencies = {'test': ['pytest', 'coverage', 'pytest-django'], 'tooling': ['black == 22.3.0', 'pylint', 'bump2version']}` 2023-09-29T09:33:12,470 According to the spec (see the link below), however, setuptools CANNOT 2023-09-29T09:33:12,470 consider this value unless `optional-dependencies` is listed as `dynamic`. 2023-09-29T09:33:12,471 https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ 2023-09-29T09:33:12,472 For the time being, `setuptools` will still consider the given value (as a 2023-09-29T09:33:12,472 **transitional** measure), but please note that future releases of setuptools will 2023-09-29T09:33:12,473 follow strictly the standard. 2023-09-29T09:33:12,474 To prevent this warning, you can list `optional-dependencies` under `dynamic` or alternatively 2023-09-29T09:33:12,474 remove the `[project]` table from your file and rely entirely on other means of 2023-09-29T09:33:12,475 configuration. 2023-09-29T09:33:12,475 By 2023-Oct-30, you need to update your project and remove deprecated calls 2023-09-29T09:33:12,476 or your builds will no longer be supported. 2023-09-29T09:33:12,476 ******************************************************************************** 2023-09-29T09:33:12,477 !! 2023-09-29T09:33:12,477 _handle_missing_dynamic(dist, project_table) 2023-09-29T09:33:12,645 running bdist_wheel 2023-09-29T09:33:12,661 running build 2023-09-29T09:33:12,662 running build_py 2023-09-29T09:33:12,666 creating build 2023-09-29T09:33:12,667 creating build/lib 2023-09-29T09:33:12,667 creating build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,669 copying rest_framework_simple_api_key/crypto.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,671 copying rest_framework_simple_api_key/admin.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,672 copying rest_framework_simple_api_key/version.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,674 copying rest_framework_simple_api_key/__init__.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,676 copying rest_framework_simple_api_key/backends.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,678 copying rest_framework_simple_api_key/apps.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,679 copying rest_framework_simple_api_key/permissions.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,681 copying rest_framework_simple_api_key/settings.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,683 copying rest_framework_simple_api_key/models.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,684 copying rest_framework_simple_api_key/parser.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,686 copying rest_framework_simple_api_key/mutli_api_crypto.py -> build/lib/rest_framework_simple_api_key 2023-09-29T09:33:12,688 creating build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:33:12,689 copying rest_framework_simple_api_key/migrations/__init__.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:33:12,691 copying rest_framework_simple_api_key/migrations/0001_initial.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:33:12,692 copying rest_framework_simple_api_key/migrations/0002_alter_apikey_options.py -> build/lib/rest_framework_simple_api_key/migrations 2023-09-29T09:33:12,694 creating build/lib/rest_framework_simple_api_key/management 2023-09-29T09:33:12,695 copying rest_framework_simple_api_key/management/__init__.py -> build/lib/rest_framework_simple_api_key/management 2023-09-29T09:33:12,697 creating build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,698 copying rest_framework_simple_api_key/rotation/admin.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,700 copying rest_framework_simple_api_key/rotation/__init__.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,702 copying rest_framework_simple_api_key/rotation/apps.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,703 copying rest_framework_simple_api_key/rotation/utils.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,705 copying rest_framework_simple_api_key/rotation/models.py -> build/lib/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,707 creating build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:33:12,708 copying rest_framework_simple_api_key/management/commands/rotation.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:33:12,709 copying rest_framework_simple_api_key/management/commands/__init__.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:33:12,711 copying rest_framework_simple_api_key/management/commands/generate_fernet_key.py -> build/lib/rest_framework_simple_api_key/management/commands 2023-09-29T09:33:12,713 creating build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:33:12,713 copying rest_framework_simple_api_key/rotation/migrations/__init__.py -> build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:33:12,715 copying rest_framework_simple_api_key/rotation/migrations/0001_initial.py -> build/lib/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:33:12,716 running egg_info 2023-09-29T09:33:12,720 writing djangorestframework_simple_apikey.egg-info/PKG-INFO 2023-09-29T09:33:12,725 writing dependency_links to djangorestframework_simple_apikey.egg-info/dependency_links.txt 2023-09-29T09:33:12,727 writing requirements to djangorestframework_simple_apikey.egg-info/requires.txt 2023-09-29T09:33:12,728 writing top-level names to djangorestframework_simple_apikey.egg-info/top_level.txt 2023-09-29T09:33:12,737 reading manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:12,740 adding license file 'LICENSE' 2023-09-29T09:33:12,743 writing manifest file 'djangorestframework_simple_apikey.egg-info/SOURCES.txt' 2023-09-29T09:33:12,755 installing to build/bdist.linux-armv7l/wheel 2023-09-29T09:33:12,755 running install 2023-09-29T09:33:12,779 running install_lib 2023-09-29T09:33:12,783 creating build/bdist.linux-armv7l 2023-09-29T09:33:12,784 creating build/bdist.linux-armv7l/wheel 2023-09-29T09:33:12,785 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,787 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/migrations 2023-09-29T09:33:12,788 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:33:12,789 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:33:12,791 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:33:12,793 copying build/lib/rest_framework_simple_api_key/crypto.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,795 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management 2023-09-29T09:33:12,796 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:33:12,798 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/management/commands 2023-09-29T09:33:12,799 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:33:12,801 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:33:12,803 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:33:12,805 copying build/lib/rest_framework_simple_api_key/admin.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,806 copying build/lib/rest_framework_simple_api_key/version.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,808 copying build/lib/rest_framework_simple_api_key/__init__.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,810 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation 2023-09-29T09:33:12,811 creating build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key/rotation/migrations 2023-09-29T09:33:12,812 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:33:12,814 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:33:12,815 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:33:12,817 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:33:12,818 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:33:12,820 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:33:12,822 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:33:12,823 copying build/lib/rest_framework_simple_api_key/backends.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,825 copying build/lib/rest_framework_simple_api_key/apps.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,827 copying build/lib/rest_framework_simple_api_key/permissions.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,829 copying build/lib/rest_framework_simple_api_key/settings.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,830 copying build/lib/rest_framework_simple_api_key/models.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,832 copying build/lib/rest_framework_simple_api_key/parser.py -> build/bdist.linux-armv7l/wheel/rest_framework_simple_api_key 2023-09-29T09:33:12,834 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:33:12,835 running install_egg_info 2023-09-29T09:33:12,839 Copying djangorestframework_simple_apikey.egg-info to build/bdist.linux-armv7l/wheel/djangorestframework_simple_apikey-1.0.1-py3.11.egg-info 2023-09-29T09:33:12,850 running install_scripts 2023-09-29T09:33:12,866 creating build/bdist.linux-armv7l/wheel/djangorestframework_simple_apikey-1.0.1.dist-info/WHEEL 2023-09-29T09:33:12,868 creating '/tmp/pip-wheel-6enmi48k/.tmp-atb7q7wv/djangorestframework_simple_apikey-1.0.1-py2.py3-none-any.whl' and adding 'build/bdist.linux-armv7l/wheel' to it 2023-09-29T09:33:12,871 adding 'rest_framework_simple_api_key/__init__.py' 2023-09-29T09:33:12,872 adding 'rest_framework_simple_api_key/admin.py' 2023-09-29T09:33:12,873 adding 'rest_framework_simple_api_key/apps.py' 2023-09-29T09:33:12,875 adding 'rest_framework_simple_api_key/backends.py' 2023-09-29T09:33:12,876 adding 'rest_framework_simple_api_key/crypto.py' 2023-09-29T09:33:12,878 adding 'rest_framework_simple_api_key/models.py' 2023-09-29T09:33:12,879 adding 'rest_framework_simple_api_key/mutli_api_crypto.py' 2023-09-29T09:33:12,880 adding 'rest_framework_simple_api_key/parser.py' 2023-09-29T09:33:12,881 adding 'rest_framework_simple_api_key/permissions.py' 2023-09-29T09:33:12,882 adding 'rest_framework_simple_api_key/settings.py' 2023-09-29T09:33:12,883 adding 'rest_framework_simple_api_key/version.py' 2023-09-29T09:33:12,885 adding 'rest_framework_simple_api_key/management/__init__.py' 2023-09-29T09:33:12,886 adding 'rest_framework_simple_api_key/management/commands/__init__.py' 2023-09-29T09:33:12,887 adding 'rest_framework_simple_api_key/management/commands/generate_fernet_key.py' 2023-09-29T09:33:12,888 adding 'rest_framework_simple_api_key/management/commands/rotation.py' 2023-09-29T09:33:12,890 adding 'rest_framework_simple_api_key/migrations/0001_initial.py' 2023-09-29T09:33:12,891 adding 'rest_framework_simple_api_key/migrations/0002_alter_apikey_options.py' 2023-09-29T09:33:12,892 adding 'rest_framework_simple_api_key/migrations/__init__.py' 2023-09-29T09:33:12,894 adding 'rest_framework_simple_api_key/rotation/__init__.py' 2023-09-29T09:33:12,895 adding 'rest_framework_simple_api_key/rotation/admin.py' 2023-09-29T09:33:12,896 adding 'rest_framework_simple_api_key/rotation/apps.py' 2023-09-29T09:33:12,897 adding 'rest_framework_simple_api_key/rotation/models.py' 2023-09-29T09:33:12,898 adding 'rest_framework_simple_api_key/rotation/utils.py' 2023-09-29T09:33:12,900 adding 'rest_framework_simple_api_key/rotation/migrations/0001_initial.py' 2023-09-29T09:33:12,901 adding 'rest_framework_simple_api_key/rotation/migrations/__init__.py' 2023-09-29T09:33:12,903 adding 'djangorestframework_simple_apikey-1.0.1.dist-info/LICENSE' 2023-09-29T09:33:12,905 adding 'djangorestframework_simple_apikey-1.0.1.dist-info/METADATA' 2023-09-29T09:33:12,906 adding 'djangorestframework_simple_apikey-1.0.1.dist-info/WHEEL' 2023-09-29T09:33:12,906 adding 'djangorestframework_simple_apikey-1.0.1.dist-info/top_level.txt' 2023-09-29T09:33:12,908 adding 'djangorestframework_simple_apikey-1.0.1.dist-info/RECORD' 2023-09-29T09:33:12,909 removing build/bdist.linux-armv7l/wheel 2023-09-29T09:33:13,036 Building wheel for djangorestframework-simple-apikey (pyproject.toml): finished with status 'done' 2023-09-29T09:33:13,041 Created wheel for djangorestframework-simple-apikey: filename=djangorestframework_simple_apikey-1.0.1-py2.py3-none-any.whl size=22215 sha256=1ccfb4d28c4023528ac4c8a2c9952bff6a51b2a34fe2de4acc36e0d0a72b9722 2023-09-29T09:33:13,042 Stored in directory: /tmp/pip-ephem-wheel-cache-rydcqeo_/wheels/a5/a7/19/151866cc3daeaea20e7ed2487b2a44195a5345c718a9a805ad 2023-09-29T09:33:13,054 Successfully built djangorestframework-simple-apikey 2023-09-29T09:33:13,058 Removed build tracker: '/tmp/pip-build-tracker-hxqvauxw'