Skip to main content

Tisú

Tisú [tiˈsu, tissue in spanish] allows to manage your project's issue tracker, using a single text file. It support Github or Jira.

Install

You can use uvx directly

$ uvx tisu --help

To install it permanently,

$ uv tool install tisu

If you want to use it to manage jira issues,

$ uv tool install tisu[jira]

Usage

Tisú can import and export your issues using a simple markdown file, where each section is a different issue.

# issue title

issue body

If an issue already exists in your tracker, the number is a prefix in the title, wrapped by square brackets:

# [#1] issue title

In this case, Tisú will update that issue instead to create a new one.

This is the current command line help:

Tisú: your issue tracker, in a text file

Usage:
  tisu push <markdown_file> [--repo=<repo>] [(--username=<username> [--pass=<pass>]|--token=<token>)]
  tisu pull <markdown_file> [--repo=<repo>] [--state=<state>] [(--username=<username> [--pass=<pass>]|--token=<token>)]

Options:
  -h --help                 Show this screen.
  --version                 Show version.
  --repo=<repo>             Github repo (as: user/name). [default: inferred from git remote]
  --state=<state>           Filter by issue state [default: open].
  --username=<username>     Github username to send issues. Repo's username if no given.
  --pass=<pass>             Github password. Prompt if user is given and it is not.
  --token=<token>           Personal app token. Default to GITHUB_TOKEN environment variable.
                            Get one at https://github.com/settings/tokens

To access private repositories you need a personal access token.

Example

Suppose you want to push a couple of issues like in this TODO.md file.

$ tisu push TODO.md mgaitan/tisu
Github password:
Created #11: support metadata
Created #12: setup travis CI

Result in:

Then, I can pull and overwrite the file.

$ tisu pull TODO.md

This is the result. As in this case I didn't change anything online, the content is (almost) the same, but note that each title has its ID number.

Working with metadata

Tisú can also synchronize the issue's metadata with ease.

The format is :<meta_var>: <value/s>, where <meta_var> is one assignee, labels or milestone. These metadata lines can be in any position under the title (and not neccesarily all, in this order nor all together) and if present, they are removed from the issue's description sent.

For example, create a new issue with some metadata

# Make a video

:assignee: mgaitan
:labels: docs, idea
:milestone: sprint 1

Make an screencast showing how to use Tisú.

If later you want to close this issue, you can add mark it with :state: closed and push.

# [#13] Make a video

:assignee: mgaitan
:labels: docs, idea
:milestone: sprint 1

Make an screencast showing how to use Tisú.

:state: closed

Extra configuration for JIRA project

Since the version 0.3, tisu supports JIRA projects.. Most of the configuration could be set through environment variables.

export JIRA_API_LOGIN=your_login_email    # equivalent to --username
export JIRA_API_TOKEN=your_token          # equivalent to --token
export JIRA_API_SERVER=https://your.jira.server    # equivalent to --server
export JIRA_API_PROJECT=your_project_prefix    # equivalent to --project

If you also use the wonderful jira-cli, then this values will try to be parsed automatically from its config file at ~/.config/.jira/.config.yml

Metadata

Release files for tisu 3.1

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

Source distribution (sdist)

Source distribution for tisu 3.1
File Size Uploaded Provenance
tisu-3.1.tar.gz 9.0 kB With provenance Details

Built distribution (wheel)

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

Total release size: 18.5 kB

Release files / tisu-3.1.tar.gz

Download URL tisu-3.1.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4c24cd25039f790b6601d32b6616295f284463592328c30d2ba26a05295613fc
BLAKE2b-256 checksum
How to use checksums
e9b56f20875cd39f89b02ac947dfeca83f745f1ddcd4a5c5a4c5167ac9bcb75b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 May 26, 2025.

Transparency log

Release files / tisu-3.1-py3-none-any.whl

Download URL tisu-3.1-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1bbc6aaab68f347f11a809d0f03034390a9382238a5d5c0ec7d7a56ab43c6055
BLAKE2b-256 checksum
How to use checksums
dd89191a4c131bb909529fdae0d38f564654972b143b0b1b1fbfc64c471b30b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 May 26, 2025.

Transparency log

Security for tisu 3.1

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 tisu-3.1.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 May 26, 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.

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