Skip to main content

Cutout tools for astronomical images

Powered by Astropy Badge PyPi Status Documentation Status

Astrocut provides tools for making cutouts from sets of astronomical images with shared footprints. It is under active development.

Three main areas of functionality are included:

  • Solving the specific problem of creating image cutouts from sectors of Transiting Exoplanet Survey Satellite (TESS) full-frame images.

  • General fits file cutouts including from single images and sets of images with the shared WCS/pixel scale.

  • Cutout post-processing functionality, including centering cutouts along a path (for moving targets) and combining cutouts.

Documentation is at https://astrocut.readthedocs.io.

Project Status

Github actions CI status Codecov coverage status

Developer Documentation

Installation

$ git clone https://github.com/spacetelescope/astrocut.git
$ cd astrocut
$ pip install .

For active development install in develop mode

$ pip install -e .

Linting

Astrocut uses ruff for linting.

To run ruff, install it with pip install ruff and then run the following commands from the root of the repository:

$ ruff check .
$ ruff format --check .

To automatically fix linting issues, run:

$ ruff check . --fix
$ ruff format .

Be careful with the above commands, as they will make changes to your code. You should review the changes before committing them.

Testing

Testing is now run with tox (pip install tox). Tests can be found in astrocut/tests/.

$ tox -e test

Tests can also be run directly with pytest:

$ pip install -e .[test]
$ pytest

Documentation

Documentation files are found in docs/.

We now build the documentation with tox (pip install tox):

$ tox -e build_docs

You can also build the documentation with Sphinx directly using:

$ pip install -e .[docs]
$ cd docs
$ make html

The built docs will be in docs/_build/html/, to view them go to file:///path/to/astrocut/repo/docs/_build/html/index.html in the browser of your choice.

Release Protocol

GitHub Action Releases

The pypi-package.yml GitHub workflow creates a PyPI release. The job in this workflow is triggered when a tag is pushed or a GH release (+tag) is created, and uses OpenAstronomy’s GitHub action workflow for publishing pure Python packages (see here for documentation).

Manual Releases

For making releases manually, follow the Astropy template release instructions.

Requirements:

  • build (pip install build)

  • twine (pip install twine)

Notes:

  • Astrocut uses setuptools_scm to manage version numbers.

  • Astrocut does have a pyproject.toml file

  • If the given twine command doesn’t work you likely need python -m twine upload dist/*

  • You shouldn’t have to trigger a readthedocs build manually, it should run on its own in ~20 min.

Contributing

We love contributions! Astrocut is open source, built on open source, and we’d love to have you hang out in our community.

Imposter syndrome disclaimer: We want your help. No, really.

There may be a little voice inside your head that is telling you that you’re not ready to be an open source contributor; that your skills aren’t nearly good enough to contribute. What could you possibly offer a project like this one?

We assure you - the little voice in your head is wrong. If you can write code at all, you can contribute code to open source. Contributing to open source projects is a fantastic way to advance one’s coding skills. Writing perfect code isn’t the measure of a good developer (that would disqualify all of us!); it’s trying to create something, making mistakes, and learning from those mistakes. That’s how we all improve, and we are happy to help others learn.

Being an open source contributor doesn’t just mean writing code, either. You can help out by writing documentation, tests, or even giving feedback about the project (and yes - that includes giving feedback about the contribution process). Some of these contributions may be the most valuable to the project as a whole, because you’re coming to the project with fresh eyes, so you can see the errors and assumptions that seasoned contributors have glossed over.

Note: This disclaimer was originally written by Adrienne Lowe for a PyCon talk, and was adapted by Astrocut based on its use in the README file for the MetPy project.

License

This project is Copyright (c) MAST Archive Developers and licensed under the terms of the BSD 3-Clause license. This package is based upon the Astropy package template which is licensed under the BSD 3-clause license. See the licenses folder for more information.

Metadata

Release files for astrocut 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astrocut 1.4.0
File Size Uploaded
astrocut-1.4.0.tar.gz 461.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for astrocut 1.4.0
File Interpreter ABI Platform
astrocut-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 613.9 kB

Release files / astrocut-1.4.0.tar.gz

Download URL astrocut-1.4.0.tar.gz
Size 461.1 kB
Tags Source
SHA-256 checksum
How to use checksums
192a7418427510f3fdba0e942d9d1bdd1c2fccbeda49aafa1fd883c4b70e1fed
BLAKE2b-256 checksum
How to use checksums
0bb1c4531c9ddda7f3caab865e3e3e925b516ad3c84293d7242ba6f8e10cf9a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release files / astrocut-1.4.0-py3-none-any.whl

Download URL astrocut-1.4.0-py3-none-any.whl
Size 152.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ff00eb8ef379543654043538739feda6140d3829fdc66185feaaa18a3b5bb9e
BLAKE2b-256 checksum
How to use checksums
068a7d1941c300aeb4d82010f62d1f36e43baeba7bee94e140a497d77d524788
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9

1 release file

0.8

1 release file

0.7

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page