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.8.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

insta_science-0.8.0-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

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

Hashes for insta_science-0.8.0.tar.gz
Algorithm Hash digest
SHA256 c25c7ce64956cbc43c39ba50491df1f0ebda8e47e294d2be4fa015670955da3b
MD5 7cb1e341ded9b70f8ba758fda4a32fb4
BLAKE2b-256 07c6ef3eb700ec7d1f1b81bf0fe15ee31aae705df6a314b89608ae09e7fb13b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for insta_science-0.8.0.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.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

Hashes for insta_science-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49b55f700b7028d6c595e344983fa1d8d9873b67486aee457eeb7b9f49e934a9
MD5 b38e3edfc3d739cd19025911575535f8
BLAKE2b-256 72edf0dcfbbe76432be947164e98f5a02d5a3647412540157187b6dceea2d003

See more details on using hashes here.

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

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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page