Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

DotSlash: simplified executable deployment

CI - Test PyPI - Version PyPI - Downloads Built by Hatch Ruff linting/formatting


DotSlash (dotslash) is a command-line tool that lets you represent a set of platform-specific, heavyweight executables with an equivalent small, easy-to-read text file. In turn, this makes it efficient to store executables in source control without hurting repository size. This paves the way for checking build toolchains and other tools directly into the repo, reducing dependencies on the host environment and thereby facilitating reproducible builds.

The dotslash package allows you to use DotSlash in your Python projects without having to install DotSlash globally.

Table of Contents

Using as a library

The dotslash.locate function returns the path to the DotSlash binary that was installed by this package.

>>> import dotslash
>>> dotslash.locate()
'/root/.local/bin/dotslash'

Using as a command-line tool

The installed DotSlash binary can be invoked directly by running the dotslash module as a script.

python -m dotslash path/to/dotslash-file.json

Building from source

When building or installing from this directory, the DOTSLASH_VERSION environment variable must be set to the version of DotSlash to use. A preceding v is accepted but not required.

DOTSLASH_VERSION=0.5.8 python -m build

This will use the binaries from DotSlash's GitHub releases. If there is a directory of GitHub release assets, you can use that directly with the DOTSLASH_SOURCE environment variable.

DOTSLASH_VERSION=0.5.8 DOTSLASH_SOURCE=path/to/dotslash-assets python -m build

The DotSlash source is set to release by default.

License

DotSlash is licensed under both the MIT license and Apache-2.0 license; the exact terms can be found in the LICENSE-MIT and LICENSE-APACHE files, respectively.