Skip to main content

It's like Badgie but for tags!

Project description

taggie 🖍️

pipeline status coverage report latest release pre-commit cici enabled code style: prettier

Assign tags to repositories based on their contents.

About

taggie tags things. It's what it does.

taggie is built as a standalone tool to be integrated into a larger toolchain for analyzing and acting on project contents.

Installation

python3 -m pip install taggie

Usage

Use the default tags

Run taggie with no options to use the default collection of tag files bundled with the application:

taggie
$ taggie
TOTAL    NAME              EXAMPLE
243      yaml              marp/.gitlab-ci.yml
52       markdown          container/README.md
15       opentofu          opentofu/outputs.tf
11       jinja             container/.cici/README.md.j2
9        python            python/examples/dynamic-version/python_pipeline/__init__.py
6        toml              python/examples/dynamic-version/pyproject.toml
3        html              zola/templates/index.html
1        restructuredtext  sphinx/docs/index.rst
1        css               marp/style.css

Use your own tags

Define a set of tagging rules in YAML files we like to call "tag files":

# jinja.yaml
- type: file.extension
  tags:
    - jinja
  extensions:
    - j2

The syntax is a little verbose, but that's because we want to make the tagging components pluggable.

Run taggie with the -t/--tag-file option to specify your tag files. A directory can also be passed. -t/--tag-file can be specified as many times as needed:

taggie -t jinja.yaml
$ taggie -t jinja.yaml
TOTAL    NAME    EXAMPLE
11       jinja   gitlab/.cici/README.md.j2

License

Copyright 2025 UL Research Institutes.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taggie-0.5.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taggie-0.5.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file taggie-0.5.0.tar.gz.

File metadata

  • Download URL: taggie-0.5.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for taggie-0.5.0.tar.gz
Algorithm Hash digest
SHA256 068ed2557bcd025496363e5fef03960cf360fe3ed2b0901599496ca685906432
MD5 e1d1855122a64a0f522866808a3f9741
BLAKE2b-256 267cddaf4885acfd6f1dc60e8bb171609549c6a53206b8b0b83c99083a39fb9f

See more details on using hashes here.

File details

Details for the file taggie-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: taggie-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for taggie-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 278817638779cfc43c0573c7c173943598930986a3ab8870585fe67018dc8684
MD5 28abec2265b304218463ed47d6fec233
BLAKE2b-256 ad7383c506aceda87817824d41ce1d2d708e23da80f4c069babb7dee10d98636

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page