eocube


Nameeocube JSON
Version 0.0.13 PyPI version JSON
download
home_pageNone
SummarySupport tool and library for EOCube.Ro
upload_time2025-07-21 12:34:04
maintainerNone
docs_urlNone
authorMarian Neagul
requires_python<4.0,>=3.10
licenseApache-2.0
keywords earth observation cube geospatial cli s3 cloudnative stac
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EOCube.RO Tools
![Grant Funded](https://img.shields.io/badge/funded_by-UEFISCDI-blueviolet)
[![pipeline status](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/badges/main/pipeline.svg)](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/-/pipelines)

This repository holds the `eocube` python library currently providing a set of minimal 
tools aimed to be used on the STAC Catalogs and data hosted by the ROCS Project

## Installing

### Option 1: From PyPi
```bash
pip install "eocube[cli]"
```

Visit https://pypi.org/project/eocube/ for more oficial packages.

### Option 2: From GitLab Package Registry
```bash
pip install eocube[cli] --index-url https://gitlab.dev.info.uvt.ro/api/v4/projects/3491/packages/pypi/simple
```
Visit the [GitLab Package Registry](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/-/packages) for available development packages

### Option 3: From Git (development branch)
```bash
pip install "eocube[cli] @ git+https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools.git@main"
```

## Command Line Tools
You can use the command line tool by calling the `eocube` library.

```bash
Usage: eocube [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  services
```

### πŸ” Authentication
#### Login
In order to authenticate against our service provider you need to call:

```bash
eocube auth login
```

This will open a browser window and perform the standard authentication.

#### Logout

In order to invalidate the session and delete local token issue you need to call:
```bash
eocube auth login
```

#### User Info
For obtaining user information you can call:

```bash
eocube auth login
```

### 🧰 Internal Services
### 🌍 External Services
#### Geo-Spatial.Org Services

Some basic services from the Geo-Spatial.Org are provided. All the tools provide the 
option to save the result in a `GeoJSON` file. 

```
Usage: eocube services geospatialorg [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  get-administrative-unit-by-code
                                  Uses the SIRUTA Code to retrieve the...
  get-administrative-unit-by-name
                                  Retrieves the administrative unit by name
  get-county-by-mnemonic          Retrieves the county by mnemonic
  get-county-by-name              Retrieves the county by name
```

## Library Tools
### Raster
  - `eocube.raster.utils.get_raster_patches()`: Function generating patches over an rasterio `DatasetReaser`

We welcome contributions! If you'd like to improve `eocube`, fix bugs, or propose new features, follow the steps below to set up your development environment.

## πŸ› οΈ Development Setup (with Poetry)

This project uses [Poetry](https://python-poetry.org/) for dependency management and packaging.

### 1. Install Poetry

Follow the official instructions:  
πŸ‘‰ https://python-poetry.org/docs/#installation

Or, if you're on a Unix-like system:

```bash
pip install poetry
```

Or

```bash
curl -sSL https://install.python-poetry.org | python3 -
```

Make sure it’s available:

```bash
poetry --version
```

### 2. Clone the repository
```bash
git clone https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools.git
cd eocube-tools
```

### 3. Create a feature branch

**Never commit directly to main!**

Create a new branch for your work:

```bash
git checkout -b my-feature-branch # Replace with something meaningful
```

### 4. Install development dependencies
```bash
poetry install --with dev
```

This will install both the main library and the development tools (`black`, `pip-audit`, `twine`, etc).

### 5. Activate the shell (optional)

```bash
poetry shell
```

You can now run commands like `eocube`, `pytest`, or `black` directly.

## βœ… Submitting Changes
1. Push your branch to GitLab:
   ```bash
   git push --set-upstream origin my-feature-branch
   ```
2. Open a Merge Request (MR) via the GitLab UI.
3. Your MR will be reviewed and must be approved by a project maintainer before it can be merged.


## 🧹 Code Style
Make sure your code is properly formated. Non-compliant code will be rejected.
We use [Black](https://black.readthedocs.io/en/stable/) for consistent formatting. Before committing:

```bash
poetry run black .
```

## πŸ™ Acknowledgements

This work was supported by a grant of the Ministry of Research, Innovation and Digitization, 
CCCDI - UEFISCDI, project number **PN-IV-P6-6.3-SOL-2024-2-0248**, within PNCDI IV.

## πŸ“œ Licensing
After updating do not forget to update the NOTICE file with:

```bash
pip-licenses --from=mixed --format=plain --with-urls -i eocube > NOTICE
```

## Publish to PyPi
Publication to PyPi is intentionally manual.

In order to publish to PyPi please make sure to be on the correct branch/tag and issue:

```bash
rm -fr build/ dist/*
poetry build
poetry run twine upload --verbose -s -i 5C5D049F dist/*
```
In the above example adapt the GPG key id with your key id.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "eocube",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": "earth observation, cube, geospatial, cli, s3, cloudnative, stac",
    "author": "Marian Neagul",
    "author_email": "marian.neagul@e-uvt.ro",
    "download_url": "https://files.pythonhosted.org/packages/53/6c/736e5bb7a49867c04d7d044451ed237786bade1d0798f3e4e697e4f3ef01/eocube-0.0.13.tar.gz",
    "platform": null,
    "description": "# EOCube.RO Tools\n![Grant Funded](https://img.shields.io/badge/funded_by-UEFISCDI-blueviolet)\n[![pipeline status](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/badges/main/pipeline.svg)](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/-/pipelines)\n\nThis repository holds the `eocube` python library currently providing a set of minimal \ntools aimed to be used on the STAC Catalogs and data hosted by the ROCS Project\n\n## Installing\n\n### Option 1: From PyPi\n```bash\npip install \"eocube[cli]\"\n```\n\nVisit https://pypi.org/project/eocube/ for more oficial packages.\n\n### Option 2: From GitLab Package Registry\n```bash\npip install eocube[cli] --index-url https://gitlab.dev.info.uvt.ro/api/v4/projects/3491/packages/pypi/simple\n```\nVisit the [GitLab Package Registry](https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools/-/packages) for available development packages\n\n### Option 3: From Git (development branch)\n```bash\npip install \"eocube[cli] @ git+https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools.git@main\"\n```\n\n## Command Line Tools\nYou can use the command line tool by calling the `eocube` library.\n\n```bash\nUsage: eocube [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  services\n```\n\n### \ud83d\udd10 Authentication\n#### Login\nIn order to authenticate against our service provider you need to call:\n\n```bash\neocube auth login\n```\n\nThis will open a browser window and perform the standard authentication.\n\n#### Logout\n\nIn order to invalidate the session and delete local token issue you need to call:\n```bash\neocube auth login\n```\n\n#### User Info\nFor obtaining user information you can call:\n\n```bash\neocube auth login\n```\n\n### \ud83e\uddf0 Internal Services\n### \ud83c\udf0d External Services\n#### Geo-Spatial.Org Services\n\nSome basic services from the Geo-Spatial.Org are provided. All the tools provide the \noption to save the result in a `GeoJSON` file. \n\n```\nUsage: eocube services geospatialorg [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  get-administrative-unit-by-code\n                                  Uses the SIRUTA Code to retrieve the...\n  get-administrative-unit-by-name\n                                  Retrieves the administrative unit by name\n  get-county-by-mnemonic          Retrieves the county by mnemonic\n  get-county-by-name              Retrieves the county by name\n```\n\n## Library Tools\n### Raster\n  - `eocube.raster.utils.get_raster_patches()`: Function generating patches over an rasterio `DatasetReaser`\n\nWe welcome contributions! If you'd like to improve `eocube`, fix bugs, or propose new features, follow the steps below to set up your development environment.\n\n## \ud83d\udee0\ufe0f Development Setup (with Poetry)\n\nThis project uses [Poetry](https://python-poetry.org/) for dependency management and packaging.\n\n### 1. Install Poetry\n\nFollow the official instructions:  \n\ud83d\udc49 https://python-poetry.org/docs/#installation\n\nOr, if you're on a Unix-like system:\n\n```bash\npip install poetry\n```\n\nOr\n\n```bash\ncurl -sSL https://install.python-poetry.org | python3 -\n```\n\nMake sure it\u2019s available:\n\n```bash\npoetry --version\n```\n\n### 2. Clone the repository\n```bash\ngit clone https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools.git\ncd eocube-tools\n```\n\n### 3. Create a feature branch\n\n**Never commit directly to main!**\n\nCreate a new branch for your work:\n\n```bash\ngit checkout -b my-feature-branch # Replace with something meaningful\n```\n\n### 4. Install development dependencies\n```bash\npoetry install --with dev\n```\n\nThis will install both the main library and the development tools (`black`, `pip-audit`, `twine`, etc).\n\n### 5. Activate the shell (optional)\n\n```bash\npoetry shell\n```\n\nYou can now run commands like `eocube`, `pytest`, or `black` directly.\n\n## \u2705 Submitting Changes\n1. Push your branch to GitLab:\n   ```bash\n   git push --set-upstream origin my-feature-branch\n   ```\n2. Open a Merge Request (MR) via the GitLab UI.\n3. Your MR will be reviewed and must be approved by a project maintainer before it can be merged.\n\n\n## \ud83e\uddf9 Code Style\nMake sure your code is properly formated. Non-compliant code will be rejected.\nWe use [Black](https://black.readthedocs.io/en/stable/) for consistent formatting. Before committing:\n\n```bash\npoetry run black .\n```\n\n## \ud83d\ude4f Acknowledgements\n\nThis work was supported by a grant of the Ministry of Research, Innovation and Digitization, \nCCCDI - UEFISCDI, project number **PN-IV-P6-6.3-SOL-2024-2-0248**, within PNCDI IV.\n\n## \ud83d\udcdc Licensing\nAfter updating do not forget to update the NOTICE file with:\n\n```bash\npip-licenses --from=mixed --format=plain --with-urls -i eocube > NOTICE\n```\n\n## Publish to PyPi\nPublication to PyPi is intentionally manual.\n\nIn order to publish to PyPi please make sure to be on the correct branch/tag and issue:\n\n```bash\nrm -fr build/ dist/*\npoetry build\npoetry run twine upload --verbose -s -i 5C5D049F dist/*\n```\nIn the above example adapt the GPG key id with your key id.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Support tool and library for EOCube.Ro",
    "version": "0.0.13",
    "project_urls": {
        "Documentation": "https://rocs.pages.dev.info.uvt.ro/tools/eocube-tools/",
        "Homepage": "https://eocube.ro",
        "Repository": "https://gitlab.dev.info.uvt.ro/rocs/tools/eocube-tools"
    },
    "split_keywords": [
        "earth observation",
        " cube",
        " geospatial",
        " cli",
        " s3",
        " cloudnative",
        " stac"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fc32c105ce599a268a5c7e1194fd2cc55c79e161ceea7065369eab47b33b57c2",
                "md5": "f940bb272c1d568d670844eb21f466df",
                "sha256": "3c0b7aa3e054fb33b63130834bbf9d2a9f54dadda522347ce76f45c75b1d6c5f"
            },
            "downloads": -1,
            "filename": "eocube-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f940bb272c1d568d670844eb21f466df",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 38294,
            "upload_time": "2025-07-21T12:34:03",
            "upload_time_iso_8601": "2025-07-21T12:34:03.602153Z",
            "url": "https://files.pythonhosted.org/packages/fc/32/c105ce599a268a5c7e1194fd2cc55c79e161ceea7065369eab47b33b57c2/eocube-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "536c736e5bb7a49867c04d7d044451ed237786bade1d0798f3e4e697e4f3ef01",
                "md5": "9ddc17cdf9b41451a30e905baffd54f4",
                "sha256": "7facc432a9349fd79ae711f00d6c5df36d864cea966339e47c3c3050f85176df"
            },
            "downloads": -1,
            "filename": "eocube-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "9ddc17cdf9b41451a30e905baffd54f4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 30671,
            "upload_time": "2025-07-21T12:34:04",
            "upload_time_iso_8601": "2025-07-21T12:34:04.993691Z",
            "url": "https://files.pythonhosted.org/packages/53/6c/736e5bb7a49867c04d7d044451ed237786bade1d0798f3e4e697e4f3ef01/eocube-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 12:34:04",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "eocube"
}
        
Elapsed time: 0.80527s