Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Statick TeX/LaTeX Plugins

Unit Tests PyPI version Codecov Python Versions License Checked with mypy Daily Downloads Weekly Downloads Monthly Downloads

This is a set of plugins for Statick that will discover TeX/LaTeX files and perform static analysis on those files.

The current plugins will discover TeX/LaTeX files in a project and can be configured to check those files using ChkTeX and LaCheck. Custom exceptions can be applied the same way they are with Statick exceptions.

Deprecated

This set of plugins was merged into the main [Statick] repository and Python package. All future development will happen in that repository.

Installation

The recommended method to install these Statick plugins is via pip:

pip install statick-tex

You can also clone the repository and use it locally.

To use the tool plugins you need to install the tools they are based on. For Ubuntu Linux you would use

apt install chktex lacheck

Usage

Pip Install

The most common usage is to use statick and statick-tex from pip. In that case your directory structure will look like the following:

  • doc
    • project
    • output

To run with the default configuration for the statick-tex tools use:

statick project/ --output-directory output/ --profile tex-profile.yaml

Pip Install and Custom Configuration

There are times when you will want to have a custom Statick configuration. This is usually done to run a different set of tools than are called out in the default profile, or to add exceptions. For this case you will have to add the new Statick configuration somewhere. This example will have custom exceptions in the project, such that the directory structure is:

  • doc
    • project
      • statick-config
        • rsc
          • exceptions.yaml
    • output

For this setup you will run the following:

statick project/ --output-directory output/ --user-paths project/statick-config/ --profile tex-profile.yaml

Source Install and Custom Configuration

The last type of setup will be to have all of the tools available from cloning repositories, not installing from pip. The directory structure will look like:

  • doc
    • project
      • statick-config
        • rsc
          • exceptions.yaml
    • output
    • statick
    • statick-tex

Using the example where we want to override the default exceptions with custom ones in the project, the command to run would be:

./statick/statick project/ --output-directory output --user-paths statick-tex,project/statick-config --profile tex-profile.yaml

Tests and Contributing

If you write a new feature for Statick or are fixing a bug, you are strongly encouraged to add unit tests for your contribution. In particular, it is much easier to test whether a bug is fixed (and identify future regressions) if you can add a small unit test which replicates the bug.

Before submitting a change, please run tox to check that you have not introduced any regressions or violated any code style guidelines.

Mypy

Statick uses mypy to check that type hints are being followed properly. Type hints are described in PEP 484 and allow for static typing in Python. To determine if proper types are being used in Statick plugins the following command will show any errors, and create several types of reports that can be viewed with a text editor or web browser.

pip install mypy
mkdir report
mypy --ignore-missing-imports --strict --html-report report/ --txt-report report src/

It is hoped that in the future we will generate coverage reports from mypy and use those to check for regressions.

Formatting

Statick code is formatted using black. To fix locally use

pip install black
black src

Metadata

Release files for statick-tex 0.5.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 statick-tex 0.5.0
File Size Uploaded Provenance Actions
statick_tex-0.5.0.tar.gz 8.1 kB With provenance Details for statick_tex-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for statick-tex 0.5.0
File Interpreter ABI Platform Actions
statick_tex-0.5.0-py3-none-any.whl Python 3 none any Details for statick_tex-0.5.0-py3-none-any.whl

Total release size: 17.9 kB

Release files / statick_tex-0.5.0.tar.gz

Download URL statick_tex-0.5.0.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a85d860ff1f7a71589971739e7cf6a25c2aee7fed7955fa09f79f6b2059c00e0
BLAKE2b-256 checksum
How to use checksums
46d091a71d1d7efaf17b8f3924908467bbd02fda3898b643f9f8a728ca01053e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 Feb 14, 2025.

Transparency log

Release files / statick_tex-0.5.0-py3-none-any.whl

Download URL statick_tex-0.5.0-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79a1f668434f134d53487b393184b90455441ef325d77ef0ec3952fe56b7cbc1
BLAKE2b-256 checksum
How to use checksums
24504bd49828a451aca38e62931a97d8e78c05696cc76c9a8e4015ba163cb04f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 Feb 14, 2025.

Transparency log

Security for statick-tex 0.5.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for statick_tex-0.5.0.tar.gz

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 Feb 14, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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