{"id":19309939,"url":"https://github.com/cedadev/nlds-client","last_synced_at":"2025-10-05T01:06:03.275Z","repository":{"id":63234455,"uuid":"385647032","full_name":"cedadev/nlds-client","owner":"cedadev","description":"Near Line Data Store client","archived":false,"fork":false,"pushed_at":"2025-09-23T11:36:41.000Z","size":7585,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-23T13:28:43.960Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cedadev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-07-13T15:13:23.000Z","updated_at":"2025-09-23T11:36:08.000Z","dependencies_parsed_at":"2023-11-30T14:29:38.868Z","dependency_job_id":"1b1b18a1-bc79-49d6-91a3-ffd1e3599cbd","html_url":"https://github.com/cedadev/nlds-client","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/cedadev/nlds-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2Fnlds-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2Fnlds-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2Fnlds-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2Fnlds-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cedadev","download_url":"https://codeload.github.com/cedadev/nlds-client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cedadev%2Fnlds-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278395974,"owners_count":25979699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T00:21:49.786Z","updated_at":"2025-10-05T01:06:03.259Z","avatar_url":"https://github.com/cedadev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"CEDA Near-Line Data Store Client\n================================\n\nFor more information please see the [documentation](https://cedadev.github.io/nlds-client/index.html).\n\nThis is the client used for interacting with the CEDA Near-Line Data Store\n([NLDS](https://github.com/cedadev/nlds)).\n\nIt consists of a library part (clientlib) and a command line client\n(nlds_client.py)\n\nNLDS client is built upon [Requests](https://docs.python-requests.org/en/master/index.html) and [Click](https://click.palletsprojects.com/en/8.0.x/)\n\nNLDS client requires Python 3.  It has been tested with Python 3.8, 3.9, 3.10 \nand 3.11.\n\nInstallation\n------------\n\n1.  Create a python virtual environment:\n    ``` bash\n    python3 -m venv ~/nlds-client\n    ```\n\n2.  Activate your new virtual environment:\n    ``` bash\n    source ~/nlds-client/bin/activate\n    ```\n\n3.  Install the nlds-client package directly from this github repo:\n    ``` bash\n    pip install git+https://github.com/cedadev/nlds-client.git\n    ```\n\nIf installing this repository for development we recommend you install with the \neditable flag (`-e`).  \n\nConfig\n------\nNLDS client requires a config file in the user's home directory: `~/.nlds-config`.  This file contains information about the JASMIN infrastructure and so is not included in the GitHub repository. A Jinja-2 template is included in the `nlds_client/templates/nlds-config.j2` file.\n\nThis config file requires information about the JASMIN OAuth2 authentication server, including the `oauth_client_id`, `oauth_client_secret` and various URLs. \nThese can be populated by using the command\n\n```\nnlds init\n```\n\nThis will need to be pointed at an appropriate NLDS server url but will default to the one hosted on JASMIN - see the [relevant section](https://cedadev.github.io/nlds-client/configuration.html) of the docs for more details.\n\nWhen the NLDS client is first used, the user will be prompted to enter their username and password.  This is the username and password for the JASMIN accounts portal. \nThe token is stored at a location defined in the `~/.nlds-config` file with the key `oauth_token_file_location`.\n\nTo use the NLDS you will also need to provide a `token` and `secret_key` to access the object store you would like to use as an NLDS cache. \nDetails for how to do this are in the [documentation](https://cedadev.github.io/nlds-client/configuration.html).\n\nUsage\n-----\n\nUpon installation, an alias for the NLDS client is created: `nlds`. This can be used to `PUT` and `GET` files and filelists to and from an NLDS server, as well as a whole host of other commands. See the [documentation](https://cedadev.github.io/nlds-client/tutorial.html) for an extensive tutorial. \nA [reference](https://cedadev.github.io/nlds-client/command_ref.html) of all available commands is also available.\n\n\nTests\n-----\n\nAutomatic unit-testing is run with pytest, to manually run the tests for a local development environment, first ensure the appropriate version of pytest is installed in your venv. From the root of the repository, run:\n\n``` bash \npip install -r tests/requirements.txt\n```\n\nand then, similarly from the root of the repo, run the tests with: \n\n```bash\npytest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedadev%2Fnlds-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcedadev%2Fnlds-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcedadev%2Fnlds-client/lists"}