Name | insta-science JSON |
Version |
0.5.0
JSON |
| download |
home_page | None |
Summary | A tool to help with installing and using `science` in Python projects. |
upload_time | 2025-01-12 12:38:17 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
automation
command
runner
testing
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# insta-science
[![PyPI Version](https://shields.io/pypi/v/insta-science.svg)](https://pypi.org/project/insta-science/)
[![License](https://shields.io/pypi/l/insta-science.svg)](../LICENSE)
[![Supported Pythons](https://shields.io/pypi/pyversions/insta-science.svg)](pyproject.toml)
[![CI](https://img.shields.io/github/actions/workflow/status/a-scie/science-installers/python-ci.yml)](https://github.com/a-scie/science-installers/actions/workflows/python-ci.yml)
The `insta-science` Python project distribution provides two convenience console scripts to make
bootstrapping `science` for use in Python projects easier:
+ `insta-science`: This is a shim script that ensures `science` is installed and then forwards all
supplied arguments to it. Instead of `science`, just use `insta-science`. You can configure the
`science` version to use, where to find `science` binaries and where to install them via the
`[tool.insta-science]` table in your `pyproject.toml` file.
+ `insta-science-util`: This script provides utilities for managing `science` binaries. In
particular, it supports downloading families of `science` binaries for various platforms for
use in internal serving systems for offline or isolated installation.
This project is under active early development and APIs and configuration are likely to change
rapidly in breaking ways until the 1.0 release.
## Configuration
By default, `insta-science` downloads the latest science binary release appropriate for the current
platform from the `science` [GitHub Releases](https://github.com/a-scie/lift/releases) and caches it
before executing for the 1st time. You can control aspects of this process using the
`[tool.insta-science]` table in your `pyproject.toml` file. Available configuration options are
detailed below:
| Option | Default | `pyproject.toml` entry | Environment Variable |
|--------------------|-------------------------------------------|-----------------------------------------|-----------------------|
| `science` version | latest | [tool.insta-science.science] `version` | |
| `science` Base URL | https://github.com/a-scie/lift/releases | [tool.insta-science.science] `base-url` | |
| Cache directory | Unix: `~/.cache/insta-science` | [tool.insta-science] `cache` | `INSTA_SCIENCE_CACHE` |
| | Mac: `~/Library/Caches/insta-science` | | |
| | Windows: `~\AppData\Local\insta-science` | | |
## Offline Use
There is partial support for offline or firewalled `science` use with `insta-science`. You can seed
a repository of science binaries by using the `insta-science-util download` command to download
`science` binaries for one or more versions and one or more target platforms. The directory you
download these binaries to will have the appropriate structure for `insta-science` to use if you
serve up that directory using your method of choice at the configured base url. Note that file://
base URLs are supported.
Full offline use requires similar support in `science` for downloading offline copies of the
[`scie-jump` binaries](https://github.com/a-scie/jump/releases), [`ptex` binaries](
https://github.com/a-scie/ptex/releases) and interpreter provider provided archives; e.g.
[PythonBuildStandalone](https://science.scie.app/_/providers/PythonBuildStandalone.html)
distributions. That support is tracked in [science issue #114](https://github.com/a-scie/lift/issues/114).
## Development
Development uses [`uv`](https://docs.astral.sh/uv/getting-started/installation/). Install as you
best see fit.
With `uv` installed, running `uv run dev-cmd` is enough to get the tools insta-science uses
installed and run against the codebase. This includes formatting code, linting code, performing type
checks and then running tests.
Raw data
{
"_id": null,
"home_page": null,
"name": "insta-science",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "automation, command, runner, testing",
"author": null,
"author_email": "John Sirois <john.sirois@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/fa/90/69a89c338f38f97bb51442e85e2ab172395e7b68d2f631e0f20c10cba359/insta_science-0.5.0.tar.gz",
"platform": null,
"description": "# insta-science\n\n[![PyPI Version](https://shields.io/pypi/v/insta-science.svg)](https://pypi.org/project/insta-science/)\n[![License](https://shields.io/pypi/l/insta-science.svg)](../LICENSE)\n[![Supported Pythons](https://shields.io/pypi/pyversions/insta-science.svg)](pyproject.toml)\n[![CI](https://img.shields.io/github/actions/workflow/status/a-scie/science-installers/python-ci.yml)](https://github.com/a-scie/science-installers/actions/workflows/python-ci.yml)\n\nThe `insta-science` Python project distribution provides two convenience console scripts to make\nbootstrapping `science` for use in Python projects easier:\n+ `insta-science`: This is a shim script that ensures `science` is installed and then forwards all\n supplied arguments to it. Instead of `science`, just use `insta-science`. You can configure the\n `science` version to use, where to find `science` binaries and where to install them via the \n `[tool.insta-science]` table in your `pyproject.toml` file.\n+ `insta-science-util`: This script provides utilities for managing `science` binaries. In\n particular, it supports downloading families of `science` binaries for various platforms for\n use in internal serving systems for offline or isolated installation.\n\nThis project is under active early development and APIs and configuration are likely to change\nrapidly in breaking ways until the 1.0 release.\n\n## Configuration\n\nBy default, `insta-science` downloads the latest science binary release appropriate for the current\nplatform from the `science` [GitHub Releases](https://github.com/a-scie/lift/releases) and caches it\nbefore executing for the 1st time. You can control aspects of this process using the\n`[tool.insta-science]` table in your `pyproject.toml` file. Available configuration options are\ndetailed below:\n\n| Option | Default | `pyproject.toml` entry | Environment Variable |\n|--------------------|-------------------------------------------|-----------------------------------------|-----------------------|\n| `science` version | latest | [tool.insta-science.science] `version` | |\n| `science` Base URL | https://github.com/a-scie/lift/releases | [tool.insta-science.science] `base-url` | |\n| Cache directory | Unix: `~/.cache/insta-science` | [tool.insta-science] `cache` | `INSTA_SCIENCE_CACHE` |\n| | Mac: `~/Library/Caches/insta-science` | | |\n| | Windows: `~\\AppData\\Local\\insta-science` | | |\n\n## Offline Use\n\nThere is partial support for offline or firewalled `science` use with `insta-science`. You can seed\na repository of science binaries by using the `insta-science-util download` command to download\n`science` binaries for one or more versions and one or more target platforms. The directory you\ndownload these binaries to will have the appropriate structure for `insta-science` to use if you\nserve up that directory using your method of choice at the configured base url. Note that file://\nbase URLs are supported.\n\nFull offline use requires similar support in `science` for downloading offline copies of the\n[`scie-jump` binaries](https://github.com/a-scie/jump/releases), [`ptex` binaries](\nhttps://github.com/a-scie/ptex/releases) and interpreter provider provided archives; e.g.\n[PythonBuildStandalone](https://science.scie.app/_/providers/PythonBuildStandalone.html)\ndistributions. That support is tracked in [science issue #114](https://github.com/a-scie/lift/issues/114).\n\n## Development\n\nDevelopment uses [`uv`](https://docs.astral.sh/uv/getting-started/installation/). Install as you\nbest see fit.\n\nWith `uv` installed, running `uv run dev-cmd` is enough to get the tools insta-science uses\ninstalled and run against the codebase. This includes formatting code, linting code, performing type\nchecks and then running tests.\n",
"bugtrack_url": null,
"license": null,
"summary": "A tool to help with installing and using `science` in Python projects.",
"version": "0.5.0",
"project_urls": {
"Bug Tracker": "https://github.com/a-scie/science-installers/issues",
"Changelog": "https://github.com/a-scie/science-installers/blob/main/python/CHANGES.md",
"Repository": "https://github.com/a-scie/science-installers/tree/main/python"
},
"split_keywords": [
"automation",
" command",
" runner",
" testing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b97d1245595054ab3eef11c1a8245138cc141ce8f3f02e5ac9462662218b418d",
"md5": "87f22abc1e6c68ac396e2abed42e7cb0",
"sha256": "068398b9f5272adcb908f0fb2822fc843f368e09506a9cb6293ac1c51706257d"
},
"downloads": -1,
"filename": "insta_science-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "87f22abc1e6c68ac396e2abed42e7cb0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 24799,
"upload_time": "2025-01-12T12:38:16",
"upload_time_iso_8601": "2025-01-12T12:38:16.488786Z",
"url": "https://files.pythonhosted.org/packages/b9/7d/1245595054ab3eef11c1a8245138cc141ce8f3f02e5ac9462662218b418d/insta_science-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa9069a89c338f38f97bb51442e85e2ab172395e7b68d2f631e0f20c10cba359",
"md5": "b16ebd537122e8ef1fd8bbefb72bbb32",
"sha256": "e2bad044cf76e0545c114b5dc3f9d6643a1496a917c4ec59273161c6da5429a4"
},
"downloads": -1,
"filename": "insta_science-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "b16ebd537122e8ef1fd8bbefb72bbb32",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 39039,
"upload_time": "2025-01-12T12:38:17",
"upload_time_iso_8601": "2025-01-12T12:38:17.786249Z",
"url": "https://files.pythonhosted.org/packages/fa/90/69a89c338f38f97bb51442e85e2ab172395e7b68d2f631e0f20c10cba359/insta_science-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-12 12:38:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "a-scie",
"github_project": "science-installers",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "insta-science"
}