Skip to main content

# This - Standardized project tool

[![Travis branch](https://img.shields.io/travis/iBelieve/this/master.svg?style=for-the-badge)](https://travis-ci.org/iBelieve/this) [![PyPI](https://img.shields.io/pypi/v/this-cli.svg?style=for-the-badge)](https://pypi.org/project/this-cli/) [![PyPI - License](https://img.shields.io/pypi/l/this-cli.svg?style=for-the-badge)](https://opensource.org/licenses/MIT) [![Maintenance](https://img.shields.io/maintenance/yes/2018.svg?style=for-the-badge)]()

this provides a standardized and simplified interface for running many common project tasks, such as building, running, testing, and deploying. It supports many project types, including Node.js, Python, Autotools, Meson, and CMake.

By providing a standard set of commands, the goal is to ease the burden of having to remember or look up the exact commands to run for specific projects. In addition, this will run multiple commands as necessary to accomplish a given task. For example, building an autotools-based project will run ./autogen.sh, ./configure, then make, while a meson-based project will run meson and then ninja in the build directory.

The goal of this is not to provide every possible feature or command, but only to wrap a subset of commands common to most projects. For more advanced commands, use the actual commands that this wraps.

### Installation and Usage

this is currently available via pip3 (Python 3-only):

pip3 install this-cli

To use on a project, you can directly invoke this with one of the commands listed below, or run this with no arguments to see what project type is detected and what subset of the commands are available:

> this

Node.js project using Yarn (deployed using Ansible)

Available commands:

build lint test check run deploy

To see what steps this will run for a given command, use the –dry-run flag:

> this –dry-run deploy

$ ansible-galaxy install -r ansible/requirements.yml $ ansible-playbook -i ansible/inventory ansible/playbook.yml

### Supported Project Formats

  • Autotools

  • Cargo (Rust)

  • CMake

  • Makefile

  • Meson

  • Node.js

  • Python

### Supported Commands

  • build

  • lint

  • test

  • check (usually lint + test combined)

  • run

  • deploy

### License

Licensed under the [MIT license](https://opensource.org/licenses/MIT).

Release files for this-cli 0.3

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

Source distribution (sdist)

Source distribution for this-cli 0.3
File Size Uploaded
this-cli-0.3.tar.gz 18.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for this-cli 0.3
File Interpreter ABI Platform
this_cli-0.3-py3-none-any.whl Python 3 none any Details

Total release size: 34.4 kB

Release files / this-cli-0.3.tar.gz

Download URL this-cli-0.3.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
61b9d65db7cc792f561fcb5e0b33c8d153e729898bb71f1d1ccd59a87e2aba84
BLAKE2b-256 checksum
How to use checksums
464f69ca3f12e34328bb64cd65e5122cf5f82260e098cbacb7c96360c0d441dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / this_cli-0.3-py3-none-any.whl

Download URL this_cli-0.3-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d46fc205fb1f5fdf6127947e62a61156109656a315488942ef901663403bc8f5
BLAKE2b-256 checksum
How to use checksums
0ca132518e925c120640f9479d8938a9980c9001479600b16dad8447f140755a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2

2 release files

0.1

1 release file

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