HyperTag
File organization made easy. HyperTag let's humans intuitively express how they think about their files using tags.
Install
$ pip install hypertag
Quickstart
HyperTag offers a slick CLI but more importantly it creates a directory called HyperTagFS which is a file system based representation of your files and tags using symbolic links and directories. HyperTag recognizes a multitude of file types and groups them automatically together into folders, which can be found in HyperTagFS.
CLI Functions
Set HyperTagFS directory path
Default is the user's home directory.
$ hypertag set_hypertagfs_dir path/to/directory
Import existing directory recursively
Import files with tags inferred from existing directory hierarchy
$ hypertag import path/to/directory
Tag file/s
Manually tag files
$ hypertag tag humans/*.txt with human "Homo Sapiens"
Tag a tag
Metatag tag/s to create tag hierarchies
$ hypertag metatag human with animal
Merge tags
Merges all associations (files & tags) of tag_a into tag_b
$ hypertag merge human into "Homo Sapiens"
Query using Set Theory
Prints file names matching the query. Nesting is currently not supported, queries are evaluated from left to right.
Default operand is AND (intersection):
$ hypertag query human "Homo Sapiens"
OR (union):
$ hypertag query human or "Homo Sapiens"
MINUS (difference):
$ hypertag query human minus "Homo Sapiens"
Print all tags
$ hypertag show
Print all files
$ hypertag show files
Architecture
- Python powers HyperTag
- SQLite3 serves as the meta data storage engine (located at
~/.config/hypertag/hypertag.db) - Symbolic links are used to create the HyperTagFS directory structure
Inspiration
This project is inspired by other existing open-source projects:
What is the point of HyperTag's existence? HyperTag offers some unique features such as the import function that make it very convenient to use. Also HyperTag's code base is written in Python and thus extremely small (<500 LOC) compared to TMSU (>10,000 LOC) and SuperTag (>25,000 LOC), making it very easy to modify / extend / fix it yourself.
Release files for hypertag 0.1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hypertag-0.1.3.2.tar.gz | 7.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hypertag-0.1.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:15.7 kB
Release files / hypertag-0.1.3.2.tar.gz
| Download URL | hypertag-0.1.3.2.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29f28b79b408a0629de6336a8f71e0b1c08ac8a63ee3ffda28b1ea27186a3f23
|
|
BLAKE2b-256 checksum How to use checksums |
d2a5d7f2178015892cbf0b7e7f593b4c79ec7236e70fa8a8dd4663b47e2b9544
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.9.1 Linux/5.10.3-arch1-1
|
Release files / hypertag-0.1.3.2-py3-none-any.whl
| Download URL | hypertag-0.1.3.2-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
528f2dd84c466df7a59430f82fd8a0cf68524a6302f4890e3b186ce1b6727001
|
|
BLAKE2b-256 checksum How to use checksums |
677b2cd2dd666c37c0f80174a3c4a912008a4b5266cdbc4078bfe46f7e7db61a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.4 CPython/3.9.1 Linux/5.10.3-arch1-1
|