Skip to main content

coveo-systools

Language and OS related utilities.

Content in a nutshell:

  • enhanced subprocess calls
  • asyncio subprocess calls
  • file and app finding made easy
  • safe text write and replace-if-different
  • git-repo-root locator
  • bool platforms if WINDOWS or LINUX or MAC or WSL:

searching the filesystem

import os
from coveo_systools.filesystem import find_paths, find_application, find_repo_root

os.getcwd()
# '/code/coveo-python-oss/coveo-systools'

find_application('git')
# WindowsPath('C:/Program Files/Git/cmd/git.EXE')  # windows example for completeness

find_repo_root()
# Path('/code/coveo-python-oss')

list(find_paths('pyproject.toml', search_from=find_repo_root(), in_root=True, in_children=True))
# [Path('/code/coveo-python-oss/pyproject.toml'), ...]

enhanced subprocess calls

An opinionated version of subprocess.check_call and subprocess.check_output.

New in 2.0.7: asyncio support, through async_check_call and async_check_output.

Adds the following features:

  • command line is a variable args (instead of a list)
  • automatic conversion of output to a stripped string (instead of raw bytes)
  • automatic conversion of Path, bytes and number variables in command line
  • automatic filtering of ansi codes from the output
  • enhanced DetailedCalledProcessError on error (a subclass of the typical CalledProcessError)
from pathlib import Path
from coveo_systools.subprocess import check_call

check_call('mypy', '--config-file', Path('configs/mypy.ini'), verbose=True)

safe I/O, if changed

Good programming practices requires files to be saved using a temporary filename and then renamed. This helper takes it a step further by skipping the write operation if the content did not change:

import json
from pathlib import Path
from coveo_systools.filesystem import safe_text_write

safe_text_write(Path('./path/to/file.txt'), json.dumps(...), only_if_changed=True)

conditional platforms syntactic sugar

Readability is important, not repeating yourself is important. Forget about platform.platform() and use bools directly:

from coveo_systools.platforms import WINDOWS, LINUX, IOS, WSL

if WINDOWS or WSL:
    print("Hello Windows!")
elif LINUX or IOS:
    print("Hello Unix!")

Metadata

Release files for coveo-systools 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 coveo-systools 4.0
File Size Uploaded Provenance Actions
coveo_systools-4.0.tar.gz 9.0 kB With provenance Details for coveo_systools-4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for coveo-systools 4.0
File Interpreter ABI Platform Actions
coveo_systools-4.0-py3-none-any.whl Python 3 none any Details for coveo_systools-4.0-py3-none-any.whl

Total release size: 18.6 kB

Release files / coveo_systools-4.0.tar.gz

Download URL coveo_systools-4.0.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1fbeea6168fec0859d02c21512af15fcb3e31d8756120fcf9856b02462dddb7e
BLAKE2b-256 checksum
How to use checksums
fc564de1f25b95ac72dca5e1eafea4f61d10d5e1c748bb5141505cf476a2b9fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jul 13, 2026.

Transparency log

Release files / coveo_systools-4.0-py3-none-any.whl

Download URL coveo_systools-4.0-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17cd04279ffe88ddd01f4ca6e772c67bd3d98fbd57197e504d78a021844fc48d
BLAKE2b-256 checksum
How to use checksums
aec56769c5301b0dd7261268575ac4f8dc59cbdf3a444cfdd37e9db3c2a67e3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jul 13, 2026.

Transparency log

Security for coveo-systools 4.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 coveo_systools-4.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 Jul 13, 2026.

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.

Release history Release notifications | RSS feed

This release

4.0 This release

2 release files Full provenance

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