kopia lustrzana https://github.com/collective/icalendar
Merge pull request #358 from niccokunzmann/setup
Document Setup process for developmentpull/346/head^2
commit
197c4ffad6
|
@ -17,7 +17,9 @@ Breaking changes:
|
||||||
|
|
||||||
New features:
|
New features:
|
||||||
|
|
||||||
- *add item here*
|
- Document development setup
|
||||||
|
Ref: #358
|
||||||
|
[niccokunzmann]
|
||||||
|
|
||||||
Bug fixes:
|
Bug fixes:
|
||||||
|
|
||||||
|
|
|
@ -21,3 +21,11 @@ For pull requests, keep this in mind
|
||||||
- Describe your change in CHANGES.rst
|
- Describe your change in CHANGES.rst
|
||||||
|
|
||||||
- Add yourself to the docs/credits.rst
|
- Add yourself to the docs/credits.rst
|
||||||
|
|
||||||
|
Development Setup
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
If you would like to setup icalendar to
|
||||||
|
contribute changes, the `Installation Section
|
||||||
|
<https://icalendar.readthedocs.io/en/latest/install.html>`_
|
||||||
|
should help you further.
|
||||||
|
|
|
@ -56,6 +56,7 @@ icalendar contributors
|
||||||
- Clive Stevens <clivest2@gmail.com>
|
- Clive Stevens <clivest2@gmail.com>
|
||||||
- Dalton Durst <github@daltondur.st>
|
- Dalton Durst <github@daltondur.st>
|
||||||
- Kamil Mańkowski <kam193@wp.pl>
|
- Kamil Mańkowski <kam193@wp.pl>
|
||||||
|
- `Nicco Kunzmann <https://github.com/niccokunzmann>`_
|
||||||
|
|
||||||
Find out who contributed::
|
Find out who contributed::
|
||||||
|
|
||||||
|
|
108
docs/install.rst
108
docs/install.rst
|
@ -10,6 +10,109 @@ package, like this::
|
||||||
|
|
||||||
>>> import icalendar
|
>>> import icalendar
|
||||||
|
|
||||||
|
Development Setup
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
To start contributing changes to icalendar,
|
||||||
|
you can clone the project to your file system
|
||||||
|
using Git.
|
||||||
|
You can `fork <https://github.com/collective/icalendar/fork>`_
|
||||||
|
the project first and clone your fork, too.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
git clone https://github.com/collective/icalendar.git
|
||||||
|
cd icalendar
|
||||||
|
|
||||||
|
Installing Python
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
You will need a version of Python installed to run the tests
|
||||||
|
and execute the code.
|
||||||
|
The latest version of Python 3 should work and will be enough
|
||||||
|
to get you started.
|
||||||
|
If you like to run the tests with different Python versions,
|
||||||
|
the following setup proecess should work the same.
|
||||||
|
|
||||||
|
Install Tox
|
||||||
|
-----------
|
||||||
|
|
||||||
|
First, install `tox <https://pypi.org/project/tox/>`_..
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
pip install tox
|
||||||
|
|
||||||
|
From now on, tox will manage Python versions and
|
||||||
|
test commands for you.
|
||||||
|
|
||||||
|
Running Tests
|
||||||
|
-------------
|
||||||
|
|
||||||
|
``tox`` manages all test environments in all Python versions.
|
||||||
|
|
||||||
|
To run all tests in all environments, simply run ``tox``
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
tox
|
||||||
|
|
||||||
|
You may not have all Python versions installed or
|
||||||
|
you may want to run a specific one.
|
||||||
|
Have a look at the `documentation
|
||||||
|
<https://tox.wiki/en/latest/example/general.html#selecting-one-or-more-environments-to-run-tests-against>`__.
|
||||||
|
This is how you can run ``tox`` with Python 3.9:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
tox -e py39
|
||||||
|
|
||||||
|
Accessing a ``tox`` environment
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
If you like to enter a specific tox environment,
|
||||||
|
you can do this:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
source .tox/py39/bin/activate
|
||||||
|
|
||||||
|
Install ``icalendar`` Manually
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
The best way to test the package is to use ``tox`` as
|
||||||
|
described above.
|
||||||
|
If for some reason you cannot install ``tox``, you can
|
||||||
|
go ahead with the following section using your
|
||||||
|
installed version of Python and ``pip``.
|
||||||
|
|
||||||
|
If for example, you would like to use your local copy of
|
||||||
|
icalendar in another Python environment,
|
||||||
|
this section explains how to do it.
|
||||||
|
|
||||||
|
You can install the local copy of ``icalendar`` with ``pip``
|
||||||
|
like this:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
cd icalendar
|
||||||
|
python -m pip install -e .
|
||||||
|
|
||||||
|
This installs the module and dependencies in your
|
||||||
|
Python environment so that you can access local changes.
|
||||||
|
If tox fails to install ``icalendar`` during its first run,
|
||||||
|
you can activate the environment in the ``.tox`` folder and
|
||||||
|
manually setup ``icalendar`` like this.
|
||||||
|
|
||||||
|
Try it out:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
Python 3.9.5 (default, Nov 23 2021, 15:27:38)
|
||||||
|
Type "help", "copyright", "credits" or "license" for more information.
|
||||||
|
>>> import icalendar
|
||||||
|
>>> icalendar.__version__
|
||||||
|
'4.0.10.dev0'
|
||||||
|
|
||||||
Building the documentation locally
|
Building the documentation locally
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -18,10 +121,7 @@ To build the documentation follow these steps:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ git clone https://github.com/collective/icalendar.git
|
$ source .tox/py39/bin/activate
|
||||||
$ cd icalendar
|
|
||||||
$ virtualenv-2.7 .
|
|
||||||
$ source bin/activate
|
|
||||||
$ pip install -r requirements_docs.txt
|
$ pip install -r requirements_docs.txt
|
||||||
$ cd docs
|
$ cd docs
|
||||||
$ make html
|
$ make html
|
||||||
|
|
9
tox.ini
9
tox.ini
|
@ -1,16 +1,15 @@
|
||||||
# to run for a specific environment, use ``tox -e ENVNAME``
|
# to run for a specific environment, use ``tox -e ENVNAME``
|
||||||
[tox]
|
[tox]
|
||||||
envlist = py27,py36,py37,py38,py39,py310,pypy3
|
envlist = py27,py37,py38,py39,py310,pypy3
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
usedevelop=True
|
||||||
deps =
|
deps =
|
||||||
pytest
|
pytest
|
||||||
coverage
|
coverage
|
||||||
py{27,36}: hypothesis>=3.0
|
py{27}: hypothesis>=3.0
|
||||||
extras =
|
|
||||||
test
|
|
||||||
commands =
|
commands =
|
||||||
coverage run --source=src/icalendar --omit=*/tests/* --module pytest []
|
coverage run --source=src/icalendar --omit=*/tests/* --module pytest []
|
||||||
py{27,36}: coverage run --append --source=src/icalendar --omit=*/tests/* --module pytest [] src/icalendar/tests/hypothesis/
|
py{27}: coverage run --append --source=src/icalendar --omit=*/tests/* --module pytest [] src/icalendar/tests/hypothesis/
|
||||||
coverage report
|
coverage report
|
||||||
coverage html
|
coverage html
|
||||||
|
|
Ładowanie…
Reference in New Issue