# Neptune Fetcher
> [!NOTE]
> This package is **experimental**.
Neptune Fetcher is a Python package designed to separate data retrieval capabilities from the regular `neptune` package. This separation bypasses the need to initialize the heavy structures of the regular package, which makes data fetching more efficient and improves performance.
## Installation
```bash
pip install neptune-fetcher
```
## Example usage
### Fetching data frame containing run fields
```python
from neptune_fetcher import ReadOnlyProject
project = ReadOnlyProject("workspace/project")
# Fetch all runs with specific columns
runs_df = project.fetch_runs_df(
columns=["sys/name", "sys/modification_time", "training/lr"],
)
```
### Fetching data from multiple runs
```python
from neptune_fetcher import ReadOnlyProject
project = ReadOnlyProject("workspace/project")
for run in project.fetch_read_only_runs(with_ids=["RUN-1", "RUN-2"]):
run.prefetch(["parameters/optimizer", "parameters/init_lr"])
print(run["parameters/optimizer"].fetch())
print(run["parameters/init_lr"].fetch())
```
### Listing run identifiers
```python
from neptune_fetcher import ReadOnlyProject
project = ReadOnlyProject("workspace/project")
for run in project.list_runs():
print(run)
```
### Fetching data from a single run
```python
from neptune_fetcher import ReadOnlyProject, ReadOnlyRun
project = ReadOnlyProject("workspace/project")
run = ReadOnlyRun(project, with_id="TES-1")
run.prefetch(["parameters/optimizer", "parameters/init_lr"])
print(run["parameters/optimizer"].fetch())
print(run["parameters/init_lr"].fetch())
```
## API reference
### `ReadOnlyProject`
Representation of a Neptune project in a limited read-only mode.
#### Initialization
Initialize with the ReadOnlyProject class constructor.
__Parameters__:
| Name | Type | Default | Description |
|-------------|------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `project` | `str`, optional | `None` | Name of a project in the form `workspace-name/project-name`. If `None`, the value of the `NEPTUNE_PROJECT` environment variable is used. |
| `api_token` | `str`, optional | `None` | Your Neptune API token (or a service account's API token). If `None`, the value of the `NEPTUNE_API_TOKEN` environment variable is used. To keep your token secure, avoid placing it in source code. Instead, save it as an environment variable. |
| `proxies` | `dict`, optional | `None` | Argument passed to HTTP calls made via the Requests library. For details on proxies, see the [Requests documentation](https://requests.readthedocs.io/). |
__Example__:
```python
project = ReadOnlyProject("workspace/project", api_token="...")
```
---
#### `list_runs()`
Lists minimal information, like identifier and name, for every run in a project.
__Example__:
```python
for run in project.list_runs():
print(run)
```
__Returns__:
`Iterator` of dictionaries with run identifiers and names.
---
#### `fetch_runs()`
Fetches a table containing IDs and names of runs in the project.
__Example__:
```python
df = project.fetch_runs()
```
__Returns__:
`pandas.DataFrame` with two columns (`sys/id` and `sys/name`) and rows corresponding to project runs.
---
#### `fetch_runs_df()`
Fetches the runs' metadata and returns them as a pandas DataFrame.
__Parameters__:
| Name | Type | Default | Description |
|-----------------|-----------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `columns` | `List[str]`, optional | `None` | Names of columns to include in the table, as a list of field names. The Neptune ID (`"sys/id"`) is included automatically. If `None`, all the columns of the experiments table are included. |
| `columns_regex` | `str`, optional | `None` | A regex pattern to filter columns by name. Use this parameter to include columns in addition to the ones specified by the `columns` parameter. |
| `names_regex` | `str`, optional | `None` | A regex pattern to filter the runs by name. When applied, it needs to limit the number of runs to 100 or fewer. |
| `with_ids` | `List[str]`, optional | `None` | List of multiple Neptune IDs. Example: `["NLU-1", "NLU-2"]`. Matching any element of the list is sufficient to pass the criterion. |
| `states` | `List[str]`, optional | `None` | List of states. Possible values: `"inactive"`, `"active"`. "Active" means that at least one process is connected to the run. Matching any element of the list is sufficient to pass the criterion. |
| `owners` | `List[str]`, optional | `None` | List of multiple owners. Example: `["frederic", "josh"]`. The owner is the user who created the run. Matching any element of the list is sufficient to pass the criterion. |
| `tags` | `List[str]`, optional | `None` | A list of tags. Example: `"lightGBM"` or `["pytorch", "cycleLR"]`. **Note:** Only runs that have all specified tags will pass this criterion. |
| `trashed` | `bool`, optional | `False` | Whether to retrieve trashed runs. If `True`, only trashed runs are retrieved. If `False`, only non-trashed runs are retrieved. If `None` or left empty, all run objects are retrieved, including trashed ones. |
| `limit` | `int`, optional | `None` | Maximum number of runs to fetch. If `None`, all runs are fetched. |
| `sort_by` | `str`, optional | `sys/creation_time` | Name of the field to sort the results by. The field must represent a simple type (string, float, integer). |
| `ascending` | `bool`, optional | `False` | Whether to sort the entries in ascending order of the sorting column values. |
| `progress_bar` | `bool`, `Type[ProgressBarCallback]`, optional | `None` | Set to `False `to disable the download progress bar, or pass a type of ProgressBarCallback to [use your own progress bar](https://docs.neptune.ai/usage/querying_metadata/#using-a-custom-progress-bar). If set to `None` or `True`, the default tqdm-based progress bar will be used. |
__Example__:
```python
# Fetch all runs with specific columns
runs_df = project.fetch_runs_df(
columns=["sys/name", "sys/modification_time", "training/lr"],
)
# Fetch all runs with specific columns and extra columns that match a regex pattern
runs_df = project.fetch_runs_df(
columns=["sys/name", "sys/modification_time"],
columns_regex='tree/.*'
)
# Fetch runs by specific IDs
specific_runs_df = my_project.fetch_runs_df(
with_ids=["RUN-123", "RUN-456"]
)
# Filter by name regex
specific_runs_df = my_project.fetch_runs_df(
names_regex='tree_3[2-4]+'
)
```
__Returns__:
`pandas.DataFrame`: A pandas DataFrame containing metadata of the fetched runs.
---
#### `fetch_read_only_runs()`
List runs of the project in the form of ReadOnlyRun.
__Parameters__:
| Name | Type | Default | Description |
|------------|-------------|---------|-----------------------------------|
| `with_ids` | `List[str]` | - | List of Neptune run IDs to fetch. |
__Example__:
```python
for run in project.fetch_read_only_runs(with_ids=["RUN-1", "RUN-2"]):
...
```
__Returns__:
Iterator of ReadOnlyRun objects.
---
### `ReadOnlyRun`
Representation of a Neptune run in a limited read-only mode.
#### Initialization
Can be created with the class constructor, or as a result of the [`fetch_read_only_runs()`](#fetch_read_only_runs) method of the ReadOnlyProject class.
__Parameters__:
| Name | Type | Default | Description |
|---------------------|-------------------|---------|------------------------------------------------|
| `read_only_project` | `ReadOnlyProject` | - | Source project from which run will be fetched. |
| `with_id` | `str` | - | Neptune run ID to fetch. Example: `RUN-1`. |
__Example__:
```python
from neptune_fetcher import ReadOnlyProject, ReadOnlyRun
project = ReadOnlyProject("workspace/project", api_token="...")
run = ReadOnlyRun(project, with_id="TES-1")
```
---
#### `.field_names`
List of run field names.
__Example__:
```python
for run in project.fetch_read_only_runs(with_ids=["TES-1", "TES-2"]):
print(list(run.field_names))
```
__Returns__:
Iterator of run fields as strings.
---
#### Field lookup: `run[field_name]`
Used to access a specific field of a run. See [Available types](#available-types).
__Returns__:
An internal object used to operate on a specific field.
__Example__:
```python
run_id = run["sys/id"].fetch()
```
---
#### `prefetch()`
Pre-fetches a batch of fields to the internal cache.
Improves the performance of access to consecutive field values. Only simple field types are supported (`int`, `float`, `str`).
__Parameters__:
| Name | Type | Default | Description |
|---------|-------------|---------|--------------------------------------|
| `paths` | `List[str]` | - | List of paths to fetch to the cache. |
__Example__:
```python
run.prefetch(["parameters/optimizer", "parameter/init_lr"])
# No more calls to the API
print(run["parameters/optimizer"].fetch())
print(run["parameter/init_lr"].fetch())
```
## Available types
The following sections list the currently supported field types, along with their available data retrieval operations.
---
### Integer
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
batch_size = run["batch_size"].fetch()
```
__Returns__:
`int`
---
### Float
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
f1 = run["scores/f1"].fetch()
```
__Returns__:
`float`
---
### String
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
token = run["token"].fetch()
```
__Returns__:
`str`
---
### Datetime
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
created_at = run["sys/creation_time"].fetch()
```
__Returns__:
`datetime.datetime`
---
### Object state
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
state = run["sys/state"].fetch()
```
__Returns__:
`str`
---
### Boolean
#### `fetch()`
Retrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
status = run["sys/failed"].fetch()
```
__Returns__:
`bool`
---
### Float series
#### `fetch()` or `fetch_last()`
Retrieves last series value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.
__Example__:
```python
loss = run["loss"].fetch_last()
```
__Returns__:
`Optional[float]`
#### `fetch_values()`
Retrieves all series values from the API.
__Parameters__:
| Name | Type | Default | Description |
|---------------------|--------|---------|--------------------------------------------------------------|
| `include_timestamp` | `bool` | True | Whether the fetched data should include the timestamp field. |
__Example__:
```python
values = run["loss"].fetch_values()
```
__Returns__:
`pandas.DataFrame`
---
## License
This project is licensed under the Apache License Version 2.0. For more details, see [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
Raw data
{
"_id": null,
"home_page": "https://neptune.ai/",
"name": "neptune-fetcher",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.7",
"maintainer_email": null,
"keywords": "MLOps, ML Experiment Tracking, ML Model Registry, ML Model Store, ML Metadata Store",
"author": "neptune.ai",
"author_email": "contact@neptune.ai",
"download_url": "https://files.pythonhosted.org/packages/2c/a6/cf6018fa7ea1da8b014c2db78ada522bf6d99350bb7a6b8ccbda20841ad5/neptune_fetcher-0.3.0.tar.gz",
"platform": null,
"description": "# Neptune Fetcher\n\n> [!NOTE]\n> This package is **experimental**.\n\nNeptune Fetcher is a Python package designed to separate data retrieval capabilities from the regular `neptune` package. This separation bypasses the need to initialize the heavy structures of the regular package, which makes data fetching more efficient and improves performance.\n\n## Installation\n\n```bash\npip install neptune-fetcher\n```\n\n## Example usage\n\n### Fetching data frame containing run fields\n\n```python\nfrom neptune_fetcher import ReadOnlyProject\n\nproject = ReadOnlyProject(\"workspace/project\")\n# Fetch all runs with specific columns\nruns_df = project.fetch_runs_df(\n columns=[\"sys/name\", \"sys/modification_time\", \"training/lr\"],\n)\n```\n\n### Fetching data from multiple runs\n\n```python\nfrom neptune_fetcher import ReadOnlyProject\n\nproject = ReadOnlyProject(\"workspace/project\")\n\nfor run in project.fetch_read_only_runs(with_ids=[\"RUN-1\", \"RUN-2\"]):\n run.prefetch([\"parameters/optimizer\", \"parameters/init_lr\"])\n\n print(run[\"parameters/optimizer\"].fetch())\n print(run[\"parameters/init_lr\"].fetch())\n```\n\n### Listing run identifiers\n\n```python\nfrom neptune_fetcher import ReadOnlyProject\n\nproject = ReadOnlyProject(\"workspace/project\")\n\nfor run in project.list_runs():\n print(run)\n```\n\n### Fetching data from a single run\n\n```python\nfrom neptune_fetcher import ReadOnlyProject, ReadOnlyRun\n\nproject = ReadOnlyProject(\"workspace/project\")\nrun = ReadOnlyRun(project, with_id=\"TES-1\")\nrun.prefetch([\"parameters/optimizer\", \"parameters/init_lr\"])\n\nprint(run[\"parameters/optimizer\"].fetch())\nprint(run[\"parameters/init_lr\"].fetch())\n```\n\n## API reference\n\n### `ReadOnlyProject`\n\nRepresentation of a Neptune project in a limited read-only mode.\n\n#### Initialization\n\nInitialize with the ReadOnlyProject class constructor.\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|-------------|------------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `project` | `str`, optional | `None` | Name of a project in the form `workspace-name/project-name`. If `None`, the value of the `NEPTUNE_PROJECT` environment variable is used. |\n| `api_token` | `str`, optional | `None` | Your Neptune API token (or a service account's API token). If `None`, the value of the `NEPTUNE_API_TOKEN` environment variable is used. To keep your token secure, avoid placing it in source code. Instead, save it as an environment variable. |\n| `proxies` | `dict`, optional | `None` | Argument passed to HTTP calls made via the Requests library. For details on proxies, see the [Requests documentation](https://requests.readthedocs.io/). |\n\n__Example__:\n\n```python\nproject = ReadOnlyProject(\"workspace/project\", api_token=\"...\")\n```\n\n---\n\n#### `list_runs()`\n\nLists minimal information, like identifier and name, for every run in a project.\n\n__Example__:\n```python\nfor run in project.list_runs():\n print(run)\n```\n\n__Returns__:\n`Iterator` of dictionaries with run identifiers and names.\n\n---\n\n#### `fetch_runs()`\n\nFetches a table containing IDs and names of runs in the project.\n\n__Example__:\n```python\ndf = project.fetch_runs()\n```\n\n__Returns__:\n`pandas.DataFrame` with two columns (`sys/id` and `sys/name`) and rows corresponding to project runs.\n\n---\n\n#### `fetch_runs_df()`\n\nFetches the runs' metadata and returns them as a pandas DataFrame.\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|-----------------|-----------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `columns` | `List[str]`, optional | `None` | Names of columns to include in the table, as a list of field names. The Neptune ID (`\"sys/id\"`) is included automatically. If `None`, all the columns of the experiments table are included. |\n| `columns_regex` | `str`, optional | `None` | A regex pattern to filter columns by name. Use this parameter to include columns in addition to the ones specified by the `columns` parameter. |\n| `names_regex` | `str`, optional | `None` | A regex pattern to filter the runs by name. When applied, it needs to limit the number of runs to 100 or fewer. |\n| `with_ids` | `List[str]`, optional | `None` | List of multiple Neptune IDs. Example: `[\"NLU-1\", \"NLU-2\"]`. Matching any element of the list is sufficient to pass the criterion. |\n| `states` | `List[str]`, optional | `None` | List of states. Possible values: `\"inactive\"`, `\"active\"`. \"Active\" means that at least one process is connected to the run. Matching any element of the list is sufficient to pass the criterion. |\n| `owners` | `List[str]`, optional | `None` | List of multiple owners. Example: `[\"frederic\", \"josh\"]`. The owner is the user who created the run. Matching any element of the list is sufficient to pass the criterion. |\n| `tags` | `List[str]`, optional | `None` | A list of tags. Example: `\"lightGBM\"` or `[\"pytorch\", \"cycleLR\"]`. **Note:** Only runs that have all specified tags will pass this criterion. |\n| `trashed` | `bool`, optional | `False` | Whether to retrieve trashed runs. If `True`, only trashed runs are retrieved. If `False`, only non-trashed runs are retrieved. If `None` or left empty, all run objects are retrieved, including trashed ones. |\n| `limit` | `int`, optional | `None` | Maximum number of runs to fetch. If `None`, all runs are fetched. |\n| `sort_by` | `str`, optional | `sys/creation_time` | Name of the field to sort the results by. The field must represent a simple type (string, float, integer). |\n| `ascending` | `bool`, optional | `False` | Whether to sort the entries in ascending order of the sorting column values. |\n| `progress_bar` | `bool`, `Type[ProgressBarCallback]`, optional | `None` | Set to `False `to disable the download progress bar, or pass a type of ProgressBarCallback to [use your own progress bar](https://docs.neptune.ai/usage/querying_metadata/#using-a-custom-progress-bar). If set to `None` or `True`, the default tqdm-based progress bar will be used. |\n\n__Example__:\n```python\n# Fetch all runs with specific columns\nruns_df = project.fetch_runs_df(\n\tcolumns=[\"sys/name\", \"sys/modification_time\", \"training/lr\"],\n)\n\n# Fetch all runs with specific columns and extra columns that match a regex pattern\nruns_df = project.fetch_runs_df(\n\tcolumns=[\"sys/name\", \"sys/modification_time\"],\n columns_regex='tree/.*'\n)\n\n# Fetch runs by specific IDs\nspecific_runs_df = my_project.fetch_runs_df(\n\twith_ids=[\"RUN-123\", \"RUN-456\"]\n)\n\n# Filter by name regex\nspecific_runs_df = my_project.fetch_runs_df(\n\tnames_regex='tree_3[2-4]+'\n)\n```\n\n__Returns__:\n`pandas.DataFrame`: A pandas DataFrame containing metadata of the fetched runs.\n\n---\n\n#### `fetch_read_only_runs()`\nList runs of the project in the form of ReadOnlyRun.\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|------------|-------------|---------|-----------------------------------|\n| `with_ids` | `List[str]` | - | List of Neptune run IDs to fetch. |\n\n__Example__:\n```python\nfor run in project.fetch_read_only_runs(with_ids=[\"RUN-1\", \"RUN-2\"]):\n ...\n```\n\n__Returns__:\nIterator of ReadOnlyRun objects.\n\n---\n\n### `ReadOnlyRun`\n\nRepresentation of a Neptune run in a limited read-only mode.\n\n#### Initialization\n\nCan be created with the class constructor, or as a result of the [`fetch_read_only_runs()`](#fetch_read_only_runs) method of the ReadOnlyProject class.\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|---------------------|-------------------|---------|------------------------------------------------|\n| `read_only_project` | `ReadOnlyProject` | - | Source project from which run will be fetched. |\n| `with_id` | `str` | - | Neptune run ID to fetch. Example: `RUN-1`. |\n\n__Example__:\n```python\nfrom neptune_fetcher import ReadOnlyProject, ReadOnlyRun\n\nproject = ReadOnlyProject(\"workspace/project\", api_token=\"...\")\nrun = ReadOnlyRun(project, with_id=\"TES-1\")\n```\n\n---\n\n#### `.field_names`\nList of run field names.\n\n__Example__:\n```python\nfor run in project.fetch_read_only_runs(with_ids=[\"TES-1\", \"TES-2\"]):\n print(list(run.field_names))\n```\n\n__Returns__:\nIterator of run fields as strings.\n\n\n---\n\n#### Field lookup: `run[field_name]`\nUsed to access a specific field of a run. See [Available types](#available-types).\n\n__Returns__:\nAn internal object used to operate on a specific field.\n\n__Example__:\n```python\nrun_id = run[\"sys/id\"].fetch()\n```\n\n---\n\n#### `prefetch()`\nPre-fetches a batch of fields to the internal cache.\n\nImproves the performance of access to consecutive field values. Only simple field types are supported (`int`, `float`, `str`).\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|---------|-------------|---------|--------------------------------------|\n| `paths` | `List[str]` | - | List of paths to fetch to the cache. |\n\n__Example__:\n```python\nrun.prefetch([\"parameters/optimizer\", \"parameter/init_lr\"])\n# No more calls to the API\nprint(run[\"parameters/optimizer\"].fetch())\nprint(run[\"parameter/init_lr\"].fetch())\n```\n\n## Available types\n\nThe following sections list the currently supported field types, along with their available data retrieval operations.\n\n---\n\n### Integer\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\nbatch_size = run[\"batch_size\"].fetch()\n```\n__Returns__:\n`int`\n\n---\n\n### Float\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\nf1 = run[\"scores/f1\"].fetch()\n```\n__Returns__:\n`float`\n\n---\n\n### String\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\ntoken = run[\"token\"].fetch()\n```\n\n__Returns__:\n`str`\n\n---\n\n### Datetime\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\ncreated_at = run[\"sys/creation_time\"].fetch()\n```\n\n__Returns__:\n`datetime.datetime`\n\n---\n\n### Object state\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\nstate = run[\"sys/state\"].fetch()\n```\n\n__Returns__:\n`str`\n\n---\n\n### Boolean\n#### `fetch()`\nRetrieves value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\nstatus = run[\"sys/failed\"].fetch()\n```\n\n__Returns__:\n`bool`\n\n---\n\n### Float series\n#### `fetch()` or `fetch_last()`\nRetrieves last series value either from the internal cache (see [`prefetch()`](#prefetch)) or from the API.\n\n__Example__:\n```python\nloss = run[\"loss\"].fetch_last()\n```\n\n__Returns__:\n`Optional[float]`\n\n#### `fetch_values()`\nRetrieves all series values from the API.\n\n__Parameters__:\n\n| Name | Type | Default | Description |\n|---------------------|--------|---------|--------------------------------------------------------------|\n| `include_timestamp` | `bool` | True | Whether the fetched data should include the timestamp field. |\n\n__Example__:\n```python\nvalues = run[\"loss\"].fetch_values()\n```\n\n__Returns__:\n`pandas.DataFrame`\n\n---\n\n## License\n\nThis project is licensed under the Apache License Version 2.0. For more details, see [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Neptune Fetcher",
"version": "0.3.0",
"project_urls": {
"Documentation": "https://docs.neptune.ai/",
"Homepage": "https://neptune.ai/",
"Repository": "https://github.com/neptune-ai/neptune-fetcher",
"Tracker": "https://github.com/neptune-ai/neptune-fetcher/issues"
},
"split_keywords": [
"mlops",
" ml experiment tracking",
" ml model registry",
" ml model store",
" ml metadata store"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bf08e4a6ab568288ed170f95052d268d753092144939f0d294870acb0f12fe57",
"md5": "7a03553d6dd7efc80e83eb4d400624e9",
"sha256": "66e42e92260528105297fc01792a69d7370b09bd67f8ec82dc78dba54464ae7b"
},
"downloads": -1,
"filename": "neptune_fetcher-0.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a03553d6dd7efc80e83eb4d400624e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.7",
"size": 18758,
"upload_time": "2024-04-23T11:36:51",
"upload_time_iso_8601": "2024-04-23T11:36:51.642312Z",
"url": "https://files.pythonhosted.org/packages/bf/08/e4a6ab568288ed170f95052d268d753092144939f0d294870acb0f12fe57/neptune_fetcher-0.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2ca6cf6018fa7ea1da8b014c2db78ada522bf6d99350bb7a6b8ccbda20841ad5",
"md5": "fcde736c3f2d56883c6d88428c1f8f37",
"sha256": "8c437fc0d741bf806e8125d07ffa67e7db60ab1c2c587b4f8a6789a4f9a1bfbd"
},
"downloads": -1,
"filename": "neptune_fetcher-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "fcde736c3f2d56883c6d88428c1f8f37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.7",
"size": 17465,
"upload_time": "2024-04-23T11:36:53",
"upload_time_iso_8601": "2024-04-23T11:36:53.410694Z",
"url": "https://files.pythonhosted.org/packages/2c/a6/cf6018fa7ea1da8b014c2db78ada522bf6d99350bb7a6b8ccbda20841ad5/neptune_fetcher-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-23 11:36:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "neptune-ai",
"github_project": "neptune-fetcher",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "neptune-fetcher"
}