Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes developer guide #887

Merged
merged 1 commit into from
Sep 5, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 38 additions & 4 deletions doc/developer_guide/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ development versions of the other HoloViz packages, such as HoloViews or Panel.

.. code-block:: sh

conda install mamba -c conda-forge
conda create -n hvplot_dev
conda activate hvplot_dev
conda config --env --append channels pyviz/label/dev --append channels conda-forge --append channels nodefaults
Expand All @@ -85,25 +86,57 @@ full test suite requires a wide range of dependencies. To make it
easier to install and run different parts of the test suite across
different platforms hvPlot uses a library called ``pyctdev`` to make things
more consistent and general. Specify also the desired Python version you want
to base your environment on. It is advised to choose the minimum version
currently supported by hvPlot on the main development branch.
to base your environment on.

You will need to pick a Python version. The best practice is to choose the minimum version
currently supported by hvPlot on the main development branch. If you cannot get the minimum
version installed, then try with a more recent version of Python.

.. code-block:: sh

conda install python=3.x pyctdev
mamba install python=3.x pyctdev

Finally to install the dependencies required to run the full unit test
suite and all the examples:

.. code-block:: sh

doit develop_install -o tests -o examples
doit develop_install -o tests -o examples --conda-mode mamba

Add ``-o doc`` if you want to install the dependencies required to build
the website.

.. _devguide_python_setup:

Commands
--------

You can list the available `doit` commands with `doit list`.

.. code-block:: sh

$ doit list
build_docs build docs
develop_install python develop install, with specified optional groups of dependencies (installed by conda only).
ecosystem_setup Common conda setup (must be run in base env).
env_capture Report all information required to recreate current conda environment
env_create Create named environment if it doesn't already exist
env_dependency_graph Write out dependency graph of named environment.
env_export Generate a pinned environment.yaml from specified env, filtering
env_export2
list_envs
miniconda_download Download Miniconda3-latest
miniconda_install Install Miniconda3-latest to location if not already present
package_build Build and then test conda.recipe/ (or specified alternative).
package_test Test existing package
package_upload Upload package built from conda.recipe/ (or specified alternative).
pip_on_conda Experimental: provide pip build env via conda
test_all Run all tests
test_examples Test that default examples run
test_flakes Flake check python and notebooks
test_unit Run unit tests with coverage
Comment on lines +118 to +137
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note to myself, this is not very useful as contributors won't use most of these commands. Documenting doit could be done on the HoloViz site, not even sure we want to do that really.

Copy link
Collaborator Author

@MarcSkovMadsen MarcSkovMadsen Sep 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I put it in because currently most of the info on how to build, serve or test stuff is not documented. So this is the best there is to my knowledge.

It might be obvious to you how to do this. But an outsider like me, not having access to a colleague with the knowledge etc have no chance of figuring out how to build or view the docs currently for example. Before seeing this list I did not know how to run flakes test as I normally don't do that. I could spend the time figuring out. But its friction and I might get it wrong.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There will be soon a contributing guide that should make more of this knowledge available to everyone: holoviz/holoviz#323

In the mean time, the source of truth for running the tests/building the docs/building the packages are the Github Action Workflows.


You can learn more about using `doit` on the `DoIt`_ web site.

Next Steps
----------
Expand All @@ -119,6 +152,7 @@ If you have any problems with the steps here, please `contact the developers`_.
.. _GitHub: https://github.com
.. _Installing Git: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
.. _Pro Git Book: https://git-scm.com/book/en/v2
.. _DoIt: https://pydoit.org/


.. toctree::
Expand Down