* removed requirements txt files
* Updated Testing section from Contributing.md
* updated command to install dependencies for documentation in CI
* updated tox.ini
* build: Adopt PEP 735 for development dependency management
* Update installation commands for dependency groups in tox.ini and main.yml
* update installation command in testing section of contributing docs
* Clean up old `requirements text files` references in workflows and docs
* Removed references to `requirements.txt` in GitHub Actions workflows.
* Updated `mkdocs-deploy.yml` and `main.yml` to install dependencies using `pyproject.toml`.
* Cleaned up documentation to remove mentions of the `requirements` folder.
* Fix invalid pyproject.toml
Project's URLs should be in the [project] table
* Keep full versions in package groups
* Specify all tox deps as dependency groups
---------
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
* Add support for Python 3.13
* Fix extracting tox env with -dev Python versions
* Fix view description inspection in Python 3.13
Python 3.13 introduced docstrings for None: https://github.com/python/cpython/pull/117813
In Python 3.12, this is an empty string:
```
➜ python3.12
Python 3.12.6 (main, Sep 10 2024, 19:06:17) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d = None
>>> d.__doc__
>>>
```
In Python 3.13, it's no longer empty:
```
➜ python3.13
Python 3.13.0rc2+ (heads/3.13:660baa1, Sep 10 2024, 18:57:50) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> d = None
>>> d.__doc__
'The type of the None singleton.'
>>>
```
Adding a check in the inspector that get the view description out the view function docstring to catch this edge case.
* Add ci stage to test for broken links in documentation
* Add docs validation to release process
* Update .github/workflows/main.yml
* Update .github/workflows/main.yml
---------
Co-authored-by: Ryan P Kilby <kilbyr@gmail.com>
Co-authored-by: Asif Saif Uddin <auvipy@gmail.com>