diff --git a/README_SETUP.md b/README_SETUP.md index 8a32fbfacb8fd5733c65998b35e52e1c7bbceab1..ddc36c6240264844a80b10732e04d031714a6db5 100644 --- a/README_SETUP.md +++ b/README_SETUP.md @@ -2,19 +2,6 @@ ## Installation ## -### Requirements ### - -PyCaosDB needs at least Python 3.8. Additionally, the following packages are required (they will -typically be installed automatically): - -- `lxml` -- `PyYaml` -- `PySocks` - -Optional packages: -- `keyring` -- `jsonschema` - ### How to install ### #### Linux #### @@ -73,12 +60,25 @@ cd caosdb-pylib pip3 install --user . ``` -For installation of optional packages, install with an additional option, e.g. for -validating with the caosdb json schema: +#### Additional dependencies #### + +To test using tox, you also need to install tox: +`pip3 install tox --user` + +To install dependencies used by optional functionality, the following pip extras +keywords are defined: +- `test` for testing with pytest +- `mypy` for mypy and types +- `jsonschema` +- `keyring` +These extras can be installed using: ```sh -pip3 install --user .[jsonschema] +pip3 install --user .[KEYWORD] ``` +A current list of the dependencies installed with this program as well as those installed with +the keywords can be found in `setup.py`s `setup_package()` method, in the `metadata` dictionary +entries `install_requires` and `extras_require`. ## Configuration ## @@ -87,7 +87,7 @@ is described in detail in the [configuration section of the documentation](https ## Try it out ## -Start Python and check whether the you can access the database. (You will be asked for the +Start Python and check whether you can access the database. (You will be asked for the password): ```python @@ -107,6 +107,7 @@ Now would be a good time to continue with the [tutorials](tutorials/index). - Run all tests: `tox` or `make unittest` - Run a specific test file: e.g. `tox -- unittests/test_schema.py` - Run a specific test function: e.g. `tox -- unittests/test_schema.py::test_config_files` +- To run using pytest: `pytest .` ## Documentation ## We use sphinx to create the documentation. Docstrings in the code should comply