Metadata-Version: 2.3
Name: dss.wdc_client
Version: 0.7.2
Summary: A small client for the WDC-Rest-API.
Author: Tino Schöllhorn
Author-email: t.schoellhorn@uni-mannheim.de
Requires-Python: >=3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: docs
Requires-Dist: Sphinx (==7.4.7) ; extra == "docs"
Requires-Dist: networkx (>=3.0)
Requires-Dist: pandas[excel, plot] (>=2.2,<3.0)
Requires-Dist: python-dotenv (>=1.1.0)
Requires-Dist: requests (>=2.3)
Requires-Dist: sphinx-rtd-theme (==3.0.2) ; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon (==0.7) ; extra == "docs"
Project-URL: Documentation, https://dss-wdc.wiso.uni-hamburg.de/dss_wdc_client_docs/html/index.html
Project-URL: Homepage, https://dss-wdc.wiso.uni-hamburg.de/
Description-Content-Type: text/markdown

# Description
This project includes a *very* small client to access data form 
the WebDataCollector-API. It is meant to provide a simple means 
of accessing the data in Json or as Panda-DataFrames.

More information about is availaible on its project homepage.

# Usage

```
from dss_wdc_client.client import WDCClient

# Somehow initialize environment variables for 
# "WDC_HOST" and "WDC_TOKEN". 
load_dotenv()

client = WDCClient.fromEnv()
df = client.loadAsDataFrame(
	'api/endpoint...', {'param1', 'value will be encoded'})
```

For more information about the client and usable endpoints, 
see the project homepage of WDC.

# Changelog
- 0.7.2		Include link for generated documentation
- 0.7.1 	Added generated documentation
- 0.7.0		Added new method WDCClient.loadDomainGraph for loading a DomainGraph as NetworkX-Object
- 0.6.0		WDCClient throws an WDCException if a request to the server fails
- 0.5.0		New signatures and methods taking care of encodings and working on large results
- 0.4.3		Add dependencies pandas["excel, plot"] as they are likely to be used.
- 0.4.2		Enhance README with Changelog and code-example.
- 0.4.1		Include a preferred variant for creating WDCClients from the Environment	

# Internal Notes for the Development Environment

## Initialize

	wdc-rest-api-python> poetry install --extras docs

## Use cases

* Update dependencies: `poetry update`
	 
* Execute Python file: `poetry run python3 src/main.py`
	
* Running tests 
(https://pytest-with-eric.com/getting-started/poetry-run-pytest/)
	
	```
	poetry run pytest 
	poetry run pytest tests/test_module.py::testFunction
	poetry run pytest -s (with output from stdout and stderr)
	```
	
## Create Documentation (Sphinx)

	`poetry run make html` 	
	
## Publish to PyPI
(https://python-poetry.org/docs/repositories/#publishable-repositories)
	
1. Config token (once)
	
	`poetry config pypi-token.pypi <my-token>`

2. Publish

	`poetry publish --build`

