Skip to content
Snippets Groups Projects

WIP: Modernizing setup.

Merged Daniel Hornung requested to merge f-test-requirements into dev
1 file
+ 18
17
Compare changes
  • Side-by-side
  • Inline
+ 18
17
@@ -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
Loading