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 ensuresscience
is installed and then forwards all supplied arguments to it. Instead ofscience
, just useinsta-science
. You can configure thescience
version to use, where to findscience
binaries and where to install them via the[tool.insta-science]
table in yourpyproject.toml
file.insta-science-util
: This script provides utilities for managingscience
binaries. In particular, it supports downloading families ofscience
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 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
File details
Details for the file insta_science-0.6.1.tar.gz
.
File metadata
- Download URL: insta_science-0.6.1.tar.gz
- Upload date:
- Size: 39.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69824304731900d390e96dbd184a711cbd4f0e6c9ac88d1f428ccb523868b9e8 |
|
MD5 | 4cc2f0e357b9a2af170ee1271827b2be |
|
BLAKE2b-256 | 0664f8829457f374a254e62a3bad68902522f25ac5713e0fafa40cd083a6e402 |
Provenance
The following attestation bundles were made for insta_science-0.6.1.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.6.1.tar.gz
- Subject digest:
69824304731900d390e96dbd184a711cbd4f0e6c9ac88d1f428ccb523868b9e8
- Sigstore transparency entry: 172491206
- Sigstore integration time:
- Permalink:
a-scie/science-installers@2033c2263a7ad491506ec3d531dc500a85478ecf
- Branch / Tag:
refs/tags/python-v0.6.1
- Owner: https://github.com/a-scie
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
python-release.yml@2033c2263a7ad491506ec3d531dc500a85478ecf
- Trigger Event:
push
- Statement type:
File details
Details for the file insta_science-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: insta_science-0.6.1-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7b2a46dcf7be05b7afca25e48bc8eec3835ee1b10b9989f10238b5103dfc875 |
|
MD5 | 6f7ad6e583ac0ad39838a3b02b04d19a |
|
BLAKE2b-256 | 530e9319585ae910290c709b6c0d0f44670f4a3fe7735720790456926df13cd7 |
Provenance
The following attestation bundles were made for insta_science-0.6.1-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.6.1-py3-none-any.whl
- Subject digest:
e7b2a46dcf7be05b7afca25e48bc8eec3835ee1b10b9989f10238b5103dfc875
- Sigstore transparency entry: 172491211
- Sigstore integration time:
- Permalink:
a-scie/science-installers@2033c2263a7ad491506ec3d531dc500a85478ecf
- Branch / Tag:
refs/tags/python-v0.6.1
- Owner: https://github.com/a-scie
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
python-release.yml@2033c2263a7ad491506ec3d531dc500a85478ecf
- Trigger Event:
push
- Statement type: