illdata


Nameilldata JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryPython client for downloading data from Institute Laue Langevin via SFTP.
upload_time2025-08-08 09:52:30
maintainerNone
docs_urlNone
authorPetr Čermák
requires_python>=3.8
licenseNone
keywords ill sftp data
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # illdata

Lightweight Python client for working with ILL SFTP (Institut Laue–Langevin). It lets you:

- connect to SFTP,
- list available proposals,
- open a specific proposal,
- list files,
- download files.

> This package also offers logging, and a small CLI.

## Installation (local)

```bash
pip install git+https://github.com/me2d09/ILLData.git

````

## Requirements

* Python >= 3.8
* `pysftp` (installed automatically)

## Quick start (Python)

```python
from illdata import IllSftp

with IllSftp(hostname="host", username="user", password="pass") as ill:
    # list availavble proposals
    for p in ill.proposals():
        print(p)

    ill.open_proposal("12345")
    print(ill.listdir("."))
    ill.download("path/remote/file.dat", "downloads/file.dat")
```

Try it interactively by opening the example notebook: [example.ipynb](./example.ipynb).

## CLI

Install the package, then run:

```bash
illdata proposals --host HOST --user USER --password PASS
illdata open --proposal 12345 --host HOST --user USER --password PASS
illdata ls --proposal 12345 --path . --host HOST --user USER --password PASS
illdata get --proposal 12345 --remote path/on/server.dat --local ./data/file.dat --host HOST --user USER --password PASS
```

You can also provide credentials via environment variables:

* `ILL_HOST`, `ILL_USER`, `ILL_PASS`, (optional) `ILL_PORT`, `ILL_KNOWN_HOSTS`

## Logging

The library uses Python’s standard `logging`. Configure it in your app if you want to see info messages:

```python
import logging
logging.basicConfig(level=logging.INFO)
```

## Security notes

By default, host key verification is **disabled** (for compatibility with older SFTP setups).
For secure use, pass a `known_hosts` file to the CLI (`--known-hosts`) or set `known_hosts_path` in code.

## License

MIT


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "illdata",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ILL, SFTP, data",
    "author": "Petr \u010cerm\u00e1k",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/fb/6c/731c483535e288a17eb09daa696b4bf24182fc4a3d4c431e4c6f32195e68/illdata-0.2.1.tar.gz",
    "platform": null,
    "description": "# illdata\n\nLightweight Python client for working with ILL SFTP (Institut Laue\u2013Langevin). It lets you:\n\n- connect to SFTP,\n- list available proposals,\n- open a specific proposal,\n- list files,\n- download files.\n\n> This package also offers logging, and a small CLI.\n\n## Installation (local)\n\n```bash\npip install git+https://github.com/me2d09/ILLData.git\n\n````\n\n## Requirements\n\n* Python >= 3.8\n* `pysftp` (installed automatically)\n\n## Quick start (Python)\n\n```python\nfrom illdata import IllSftp\n\nwith IllSftp(hostname=\"host\", username=\"user\", password=\"pass\") as ill:\n    # list availavble proposals\n    for p in ill.proposals():\n        print(p)\n\n    ill.open_proposal(\"12345\")\n    print(ill.listdir(\".\"))\n    ill.download(\"path/remote/file.dat\", \"downloads/file.dat\")\n```\n\nTry it interactively by opening the example notebook: [example.ipynb](./example.ipynb).\n\n## CLI\n\nInstall the package, then run:\n\n```bash\nilldata proposals --host HOST --user USER --password PASS\nilldata open --proposal 12345 --host HOST --user USER --password PASS\nilldata ls --proposal 12345 --path . --host HOST --user USER --password PASS\nilldata get --proposal 12345 --remote path/on/server.dat --local ./data/file.dat --host HOST --user USER --password PASS\n```\n\nYou can also provide credentials via environment variables:\n\n* `ILL_HOST`, `ILL_USER`, `ILL_PASS`, (optional) `ILL_PORT`, `ILL_KNOWN_HOSTS`\n\n## Logging\n\nThe library uses Python\u2019s standard `logging`. Configure it in your app if you want to see info messages:\n\n```python\nimport logging\nlogging.basicConfig(level=logging.INFO)\n```\n\n## Security notes\n\nBy default, host key verification is **disabled** (for compatibility with older SFTP setups).\nFor secure use, pass a `known_hosts` file to the CLI (`--known-hosts`) or set `known_hosts_path` in code.\n\n## License\n\nMIT\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python client for downloading data from Institute Laue Langevin via SFTP.",
    "version": "0.2.1",
    "project_urls": {
        "Repository": "https://github.com/me2d09/ILLData"
    },
    "split_keywords": [
        "ill",
        " sftp",
        " data"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e03136fd322798478ea96075f643dda22b688792247e501631c5a3d568959699",
                "md5": "68ff36d9f1db1028a9062fec9235d9b9",
                "sha256": "5c2d1e9c4c7f57df418885ab37fd782d2ab2911096a6c0553abe0d26146c52bf"
            },
            "downloads": -1,
            "filename": "illdata-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "68ff36d9f1db1028a9062fec9235d9b9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 7313,
            "upload_time": "2025-08-08T09:52:29",
            "upload_time_iso_8601": "2025-08-08T09:52:29.381011Z",
            "url": "https://files.pythonhosted.org/packages/e0/31/36fd322798478ea96075f643dda22b688792247e501631c5a3d568959699/illdata-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fb6c731c483535e288a17eb09daa696b4bf24182fc4a3d4c431e4c6f32195e68",
                "md5": "b4ec9d0a08c86b978230a4d2c3bf0449",
                "sha256": "69eac7982ff3425775195bb247e0420b382f3bbd29e9951f42ccb4fc992ac729"
            },
            "downloads": -1,
            "filename": "illdata-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b4ec9d0a08c86b978230a4d2c3bf0449",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 6244,
            "upload_time": "2025-08-08T09:52:30",
            "upload_time_iso_8601": "2025-08-08T09:52:30.627957Z",
            "url": "https://files.pythonhosted.org/packages/fb/6c/731c483535e288a17eb09daa696b4bf24182fc4a3d4c431e4c6f32195e68/illdata-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-08 09:52:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "me2d09",
    "github_project": "ILLData",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "illdata"
}
        
Elapsed time: 2.20015s