Skip to main content

A tool to help with installing and using `science` in Python projects.

Project description

insta-science

PyPI Version License Supported Pythons CI

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 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

insta_science-0.6.1.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

insta_science-0.6.1-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

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

Hashes for insta_science-0.6.1.tar.gz
Algorithm Hash digest
SHA256 69824304731900d390e96dbd184a711cbd4f0e6c9ac88d1f428ccb523868b9e8
MD5 4cc2f0e357b9a2af170ee1271827b2be
BLAKE2b-256 0664f8829457f374a254e62a3bad68902522f25ac5713e0fafa40cd083a6e402

See more details on using hashes here.

Provenance

The following attestation bundles were made for insta_science-0.6.1.tar.gz:

Publisher: python-release.yml on a-scie/science-installers

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file insta_science-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for insta_science-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7b2a46dcf7be05b7afca25e48bc8eec3835ee1b10b9989f10238b5103dfc875
MD5 6f7ad6e583ac0ad39838a3b02b04d19a
BLAKE2b-256 530e9319585ae910290c709b6c0d0f44670f4a3fe7735720790456926df13cd7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page