Metadata-Version: 2.1
Name: servicex
Version: 3.0.0a1
Summary: 
Author: Ben Galewsky
Author-email: bengal1@illinois.edu
Requires-Python: >=3.8,<3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: pandas
Requires-Dist: PyYAML (>=6.0,<7.0)
Requires-Dist: fastparquet (>=2023.4.0,<2024.0.0); extra == "pandas"
Requires-Dist: func_adl (==3.2.5)
Requires-Dist: google-auth (>=2.17,<3.0)
Requires-Dist: httpx (>=0.24,<0.25)
Requires-Dist: miniopy-async (>=1.15,<2.0)
Requires-Dist: pandas (>=2.0.2,<3.0.0); extra == "pandas"
Requires-Dist: pyarrow (>=12.0.0,<13.0.0); extra == "pandas"
Requires-Dist: pydantic (>=1.10,<2.0)
Requires-Dist: qastle (>=0.16,<0.17)
Requires-Dist: requests (>=2.31,<3.0)
Requires-Dist: tinydb (>=4.7,<5.0)
Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
Requires-Dist: types-PyYAML (>=6.0,<7.0)
Description-Content-Type: text/markdown

# servicex_client
Python SDK and CLI Client for ServiceX

## Configuration
The client relies on a YAML file to obtain the URLs of different servicex
deployments, as well as tokens to authenticate with the service. The file 
should be named `.servicex` and the format of this file is as follows:
```yaml
api_endpoints:
  - endpoint: http://localhost:5000
    name: localhost

  - endpoint: https://servicex-release-testing-4.servicex.ssl-hep.org
    name: testing4
    token: ...

default_endpoint: testing4

cache_path: /tmp/ServiceX_Client/cache-dir
```
The `default_endpoint` will be used if otherwise not specified. The cache 
database and downloaded files will be stored in the directory specified by 
`cache_path`.

The library will search for this file in the current working directory and then
start looking in parent directories until a file is found.

## Command Line Interface
When installed, the client provides a new command in your shell, `servicex`.
This command uses a series of subcommands to work with various functions of
serviceX.

Common command line arguments:

| Flag | Long Flag | What it does                                         |
|------|-----------|------------------------------------------------------|
| -u   | --url     | The url of the serviceX ingress                      |
| -b   | --backend | Named backend from the .servicex file endpoints list |

If neither url nor backend are specified then the client will attempt to use the
`default_endpoint` value to determine who to talk to.

### codegens 
This command will list the code generators deployed.

### transforms
These commands interact with transforms that have been run

#### list
List transforms associated with the current user. Add the `--complete` flag to
only show transforms that have completed.

#### files
List the files along with their size generated by a transform. Specify the 
transform request id with the `-t` or `--transform-id` flag

#### download
Download the files from a transform to a local directory. Specify the transform
request id with `-t` and the directory to download to with `-d`. Defaults to
downloading files to the current working directory.

### cache
These commands allow you to work with the query cache maintained by the serviceX
client.

#### list
Show all of the cached transforms along with the run time, code generator, and 
number of resulting files

#### delete
Delete a specific transform from the cache. Provide the transform request ID 
with the `-t` or `--transform-id` arg.

#### clear
Clear all of the transforms from the cache.


