A tool to help with installing and using `science` in Python projects.
Project description
insta-science
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 ensuresscienceis installed and then forwards all supplied arguments to it. Instead ofscience, just useinsta-science. You can configure thescienceversion to use, where to findsciencebinaries and where to install them via the[tool.insta-science]table in yourpyproject.tomlfile.insta-science-util: This script provides utilities for managingsciencebinaries. In particular, it supports downloading families ofsciencebinaries 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 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 full 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.
Likewise, you can seed a repository of ptex binaries, scie-jump binaries and interpreter
provider distributions by using the insta-science download {ptex,scie-jump,provider} ... family
of commands and updating corresponding base_url options in your scie lift manifest.
Development
Development uses uv. 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file insta_science-0.8.0.tar.gz.
File metadata
- Download URL: insta_science-0.8.0.tar.gz
- Upload date:
- Size: 52.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c25c7ce64956cbc43c39ba50491df1f0ebda8e47e294d2be4fa015670955da3b
|
|
| MD5 |
7cb1e341ded9b70f8ba758fda4a32fb4
|
|
| BLAKE2b-256 |
07c6ef3eb700ec7d1f1b81bf0fe15ee31aae705df6a314b89608ae09e7fb13b0
|
Provenance
The following attestation bundles were made for insta_science-0.8.0.tar.gz:
Publisher:
python-release.yml on a-scie/science-installers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
insta_science-0.8.0.tar.gz -
Subject digest:
c25c7ce64956cbc43c39ba50491df1f0ebda8e47e294d2be4fa015670955da3b - Sigstore transparency entry: 415140002
- Sigstore integration time:
-
Permalink:
a-scie/science-installers@77a56c193ec0b07e19526e5ed9d05c2c92783667 -
Branch / Tag:
refs/tags/python-v0.8.0 - Owner: https://github.com/a-scie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@77a56c193ec0b07e19526e5ed9d05c2c92783667 -
Trigger Event:
push
-
Statement type:
File details
Details for the file insta_science-0.8.0-py3-none-any.whl.
File metadata
- Download URL: insta_science-0.8.0-py3-none-any.whl
- Upload date:
- Size: 33.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49b55f700b7028d6c595e344983fa1d8d9873b67486aee457eeb7b9f49e934a9
|
|
| MD5 |
b38e3edfc3d739cd19025911575535f8
|
|
| BLAKE2b-256 |
72edf0dcfbbe76432be947164e98f5a02d5a3647412540157187b6dceea2d003
|
Provenance
The following attestation bundles were made for insta_science-0.8.0-py3-none-any.whl:
Publisher:
python-release.yml on a-scie/science-installers
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
insta_science-0.8.0-py3-none-any.whl -
Subject digest:
49b55f700b7028d6c595e344983fa1d8d9873b67486aee457eeb7b9f49e934a9 - Sigstore transparency entry: 415140021
- Sigstore integration time:
-
Permalink:
a-scie/science-installers@77a56c193ec0b07e19526e5ed9d05c2c92783667 -
Branch / Tag:
refs/tags/python-v0.8.0 - Owner: https://github.com/a-scie
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@77a56c193ec0b07e19526e5ed9d05c2c92783667 -
Trigger Event:
push
-
Statement type: