ytdl-sub/docs/source/guides/development/index.rst
2024-10-23 21:34:38 -07:00

64 lines
1.6 KiB
ReStructuredText

Development and Contributing
============================
Requirements
------------
- python >= 3.10
- ffmpeg/ffprobe 4.4.5 (test checksums rely on this version)
- make
Local Install
-------------
.. tab-set-code::
.. code-block:: shell
pip install -e .[test,lint,docs]
.. code-block:: zsh
pip install -e .\[test,lint,docs\]
Linter
------
All source code contributed must be formatted to our linter specification.
Run the following to auto-format and check for any issues with your code:
.. code-block:: shell
make lint
Adding Documentation
--------------------
Docs can be found in ``ytdl-sub/docs/source/``, and are built using the command:
.. code-block:: shell
:caption: Viewable at http://localhost:63342/ytdl-sub/docs/build/html/index.html once built
make docs
Some of the documentation is built using doc-strings from the python source code. The above
command will rebuild those as well.
Testing
-------
Tests are written using pytest. Many of them evaluate checksums of output files to ensure no unintended
changes are introduced to the way ``ytdl-sub`` produces files. This checksum can be inaccurate for
end-to-end tests, but are reliable for integration tests.
If integration tests are failing, ensure...
- you're using the correct ffmpeg version
- you are developing on Linux or Mac (have not tested windows yet)
- your local ``ytdl-sub`` dependencies are up-to-date
IDE Setup
---------
PyCharm is our preferred IDE. The codebase is simple enough to where it's not required, but
is highly recommended.
TODO: screenshots of configuration