Skip to main content

A terminal-based home inventory manager

Project description

possession

A terminal-based home inventory manager. Track what you own, where it is, and what it cost — entirely from the keyboard.

▗▄▄▖  ▗▄▖  ▗▄▄▖ ▗▄▄▖▗▄▄▄▖ ▗▄▄▖ ▗▄▄▖▗▄▄▄▖ ▗▄▖ ▗▖  ▗▖
▐▌ ▐▌▐▌ ▐▌▐▌   ▐▌   ▐▌   ▐▌   ▐▌     █  ▐▌ ▐▌▐▛▚▖▐▌
▐▛▀▘ ▐▌ ▐▌ ▝▀▚▖ ▝▀▚▖▐▛▀▀▘ ▝▀▚▖ ▝▀▚▖  █  ▐▌ ▐▌▐▌ ▝▜▌
▐▌   ▝▚▄▞▘▗▄▄▞▘▗▄▄▞▘▐▙▄▄▖▗▄▄▞▘▗▄▄▞▘▗▄█▄▖▝▚▄▞▘▐▌  ▐▌

Installation

pip install possession-terminal

Requires Python 3.9+.

Usage

possession

Options:

Flag Description
--db PATH Use a specific database file
--transparent Use terminal native background for this session
# Use a custom database location
possession --db ~/Documents/my-inventory.db

# Use an environment variable instead
POSSESSION_DB=~/Documents/my-inventory.db possession

# Transparent background (blends with your terminal theme)
possession --transparent

The database is created automatically at ~/.possession/possession.db on first launch.


Navigation

possession uses Vim-style keybindings throughout.

Main screen

Key Action
j / k Move down / up
g g Jump to top
G Jump to bottom
h / l Scroll left / right
Enter Toggle detail panel
q / Esc Quit

Managing items

Key Action
a Quick-add a new item
e Edit selected item
d Delete selected item

Filtering

Key Action
/ Text search (filters name, description, location, category live as you type)
r Filter by room
c Filter by container
t Filter by category

All filters compose — active filters are shown as tags in the stats bar. Select the same item again in a picker to clear that filter.

Other

Key Action
X Open theme picker

Quick-add

Press a to open quick-add. Items are entered as a slash-separated string:

name / description / room / container / category / date / cost

Only the name is required. Fields can be omitted from the right:

Monitor
Monitor / Dell 27" 4K
Monitor / Dell 27" 4K / Office
Monitor / Dell 27" 4K / Office / Desk / Electronics / 2024-03-01 / 349.99

If the room or container doesn't exist yet, possession will prompt you to create it before saving.


Detail panel

Press Enter on any item to open the detail panel on the right. It shows all fields for the selected item and updates live as you move the cursor.


Stats bar

The stats bar at the top of the screen shows four aggregate values:

Items     Rooms     Containers     Value
42        8         12             $1,240.00

When filters are active, the item count reflects the filtered set and shows the active filter tags.


Themes

Press X to open the theme picker. Navigate with j/k, press Enter to confirm. The theme previews live as you move through the list. Press Esc to revert.

Press t inside the picker to toggle transparent background mode.

10 built-in themes:

Theme Style
catppuccin-mocha Soft purples and pastels (default)
dracula Purple and pink on dark grey
tokyo-night Cool blues and violets
nord Arctic blues and whites
rose-pine Muted rosewood and iris
one-dark Atom-inspired blues and purples
kanagawa Warm Japanese ink palette
gruvbox Retro amber and green on warm grey
monokai Vivid green and pink on near-black
solarized-dark Classic precision-designed palette

Your selected theme and transparent preference are saved to the database and restored on next launch.


Currency formatting

Costs are formatted using your system locale — currency symbol, decimal separator, and thousands grouping are all applied automatically. On an Indian locale you'll see ₹1,23,456.00; on a US locale $1,234.56; on a German locale 1.234,56 €.


Data

All data is stored in a single SQLite file at ~/.possession/possession.db. To back up your inventory, copy that file. To move it to another machine, copy the file there and point possession at it with --db.


License

MIT

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

possession_terminal-0.1.0.tar.gz (175.5 kB view details)

Uploaded Source

Built Distribution

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

possession_terminal-0.1.0-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file possession_terminal-0.1.0.tar.gz.

File metadata

  • Download URL: possession_terminal-0.1.0.tar.gz
  • Upload date:
  • Size: 175.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for possession_terminal-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6c82f5ae52acb55d5bfde92ec27d85e7dce391565d84be98179bf77307596e1c
MD5 72601a274ec1e52d2ef686273dd60660
BLAKE2b-256 1e3aa7feee7716000220caa6298b451edd1d622a7a09e005aafbe5c8bf7915ca

See more details on using hashes here.

File details

Details for the file possession_terminal-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for possession_terminal-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66a4ada584be217a568a2fcddc59234ae53fbd7356627477e5c01e785d4db797
MD5 216ea5b867e946dcad738e71abe6a1db
BLAKE2b-256 aafa694d2d5bebc48377eb18043fbdc1437db1a8883c744c9e3417d909db2d40

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