VPM is a lightweight opensource home management system
Project description
vpm
Virtual Property Manager (VPM) is the open source smart home operating system the world deserves. Lightweight, cross platform, command line application that builds a COBie and IFC compliant model of your home, manages preventative maintenance tasks and logs, and organizes your home’s documents.
Design Principles:
- Data Sovereignty: You control your home's data in perpetuity.
- Portability: Conform to open standards with easy import and export.
- Interoperability: Do core functions well, and integrate with other services. No walled gardens.
- Unenshitifiable: Product design must make it impossible to enshitify.
Problem Statement
- Homeowners are not professional property managers. They don't know what needs to be done to proactively maintain their home so that everything works, they minimize maintenance costs, and keep it in good condition.
- Home maintenance information online is generic and often caveated. Most homeowners don't have the expertise to be confident they are appropriately interpreting and applying the general advice.
- Homeowners have to develop their own information management and task management systems for their homes.
- Tasks that would be quick for a professional property manager with experience and relationships, such as identifying what trade is needed to fix a problem, getting and assessing bids (including benchmarking to general market costs), and hiring a contractor they trust are much harder for homeowners who only need contractor service intermittently.
- Smart home technology adds a layer of complexity and fragility to a home, rather than making homes more robust and self maintaining.
Roadmap
- Home Model Management
- Task Managment
- Task Management App Integration
- Apple reminders
- Google to do
- MS ToDo
- Any.Do
- Smart Device Management Platforms Integrations
- Google Home
- Apple HomeKit
Documentation
vpm
Creates config file if it doesn't exists. Runs before every command
Usage:
$ vpm [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
version: Prints the application's version number.homeroomelementtaskpartdb
vpm version
Prints the application's version number.
Usage:
$ vpm version [OPTIONS]
Options:
--help: Show this message and exit.
vpm home
Usage:
$ vpm home [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
add: Adds a home to the local databaseget: Get home informationupdate: Update home informationdelete: Delete home
vpm home add
Adds a home to the local database
Usage:
$ vpm home add [OPTIONS]
Options:
--name TEXT: [required]--address TEXT: [required]--description TEXT--help: Show this message and exit.
vpm home get
Get home information
Usage:
$ vpm home get [OPTIONS]
Options:
--help: Show this message and exit.
vpm home update
Update home information
Usage:
$ vpm home update [OPTIONS]
Options:
--name TEXT--address TEXT--help: Show this message and exit.
vpm home delete
Delete home
Usage:
$ vpm home delete [OPTIONS]
Options:
--help: Show this message and exit.
vpm room
Usage:
$ vpm room [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
addallget-by-nameupdatedelete
vpm room add
Usage:
$ vpm room add [OPTIONS]
Options:
--name TEXT: [required]--level INTEGER: [default: 0]--description TEXT--help: Show this message and exit.
vpm room all
Usage:
$ vpm room all [OPTIONS]
Options:
--help: Show this message and exit.
vpm room get-by-name
Usage:
$ vpm room get-by-name [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm room update
Usage:
$ vpm room update [OPTIONS]
Options:
--name TEXT--help: Show this message and exit.
vpm room delete
Usage:
$ vpm room delete [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm element
Usage:
$ vpm element [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
add: Adds a new element to the local database.get: Get element informationall: Get all elementsupdate: Update element informationdelete: Delete an element
vpm element add
Adds a new element to the local database.
Usage:
$ vpm element add [OPTIONS]
Options:
--room-name TEXT: [required]--name TEXT: [required]--description TEXT--brand TEXT--model TEXT--model-number TEXT--manual-url TEXT--manufacture-url TEXT--install-date [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]--cost FLOAT--currency TEXT: [default: USD]--help: Show this message and exit.
vpm element get
Get element information
Usage:
$ vpm element get [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm element all
Get all elements
Usage:
$ vpm element all [OPTIONS]
Options:
--help: Show this message and exit.
vpm element update
Update element information
Usage:
$ vpm element update [OPTIONS]
Options:
--name TEXT: [required]--new-name TEXT--description TEXT--help: Show this message and exit.
vpm element delete
Delete an element
Usage:
$ vpm element delete [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm task
Usage:
$ vpm task [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
add: Adds a new task to the local database.get: Get task informationupdate: Update task informationdelete: Delete a taskcomplete: Mark a task as complete
vpm task add
Adds a new task to the local database.
Usage:
$ vpm task add [OPTIONS]
Options:
--name TEXT: [required]--type TEXT: Type of task (MAINTENANCE, REPAIR, REPLACE, INSPECT) [default: MAINTENANCE]--description TEXT--due-date [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]--interval INTEGER: Interval for recurring task--interval-unit TEXT: Unit for interval (days, weeks, months, years)--priority INTEGER--help: Show this message and exit.
vpm task get
Get task information
Usage:
$ vpm task get [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm task update
Update task information
Usage:
$ vpm task update [OPTIONS]
Options:
--name TEXT: [required]--new-name TEXT--type TEXT: Type of task (MAINTENANCE, REPAIR, REPLACE, INSPECT)--description TEXT--due-date [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]--priority INTEGER--help: Show this message and exit.
vpm task delete
Delete a task
Usage:
$ vpm task delete [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm task complete
Mark a task as complete
Usage:
$ vpm task complete [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm part
Usage:
$ vpm part [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
add: Adds a new part to the local database.get: Get part informationupdate: Update part informationdelete: Delete a part
vpm part add
Adds a new part to the local database.
Usage:
$ vpm part add [OPTIONS]
Options:
--name TEXT: [required]--description TEXT: [required]--manufacturer TEXT--model-number TEXT--serial-number TEXT--help: Show this message and exit.
vpm part get
Get part information
Usage:
$ vpm part get [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm part update
Update part information
Usage:
$ vpm part update [OPTIONS]
Options:
--name TEXT: [required]--new-name TEXT--description TEXT--manufacturer TEXT--model-number TEXT--serial-number TEXT--help: Show this message and exit.
vpm part delete
Delete a part
Usage:
$ vpm part delete [OPTIONS]
Options:
--name TEXT: [required]--help: Show this message and exit.
vpm db
Usage:
$ vpm db [OPTIONS] COMMAND [ARGS]...
Options:
--help: Show this message and exit.
Commands:
create: Initializes the database and creates all...info: Prints the database engine configuration...schemas: Prints the schemas in the database.tables: Prints the tables in the database.columns: Prints the columns of a table.
vpm db create
Initializes the database and creates all necessary tables.
Usage:
$ vpm db create [OPTIONS]
Options:
--overwrite--help: Show this message and exit.
vpm db info
Prints the database engine configuration (including URL).
Usage:
$ vpm db info [OPTIONS]
Options:
--help: Show this message and exit.
vpm db schemas
Prints the schemas in the database.
Usage:
$ vpm db schemas [OPTIONS]
Options:
--help: Show this message and exit.
vpm db tables
Prints the tables in the database.
Usage:
$ vpm db tables [OPTIONS]
Options:
--help: Show this message and exit.
vpm db columns
Prints the columns of a table.
Usage:
$ vpm db columns [OPTIONS] TABLE
Arguments:
TABLE: [required]
Options:
--help: Show this message and exit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vpm_cli-0.1.1.tar.gz.
File metadata
- Download URL: vpm_cli-0.1.1.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c9bd22a5cbed3294e60923d6c6eb859c7530573e4d92da292219734fbb8bdbb
|
|
| MD5 |
671c87f65986d1c6beafe2267d72db4a
|
|
| BLAKE2b-256 |
1478673dac7c5db4013ccb77a35fceecb40db5ca8c6a9df58127199c750e102f
|
File details
Details for the file vpm_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vpm_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdf263a80b85a5a8f07445707c14557d484e2341dea41eb54d37b5373328b7f7
|
|
| MD5 |
5f77bbe967b540dd90f4beb18ea54f41
|
|
| BLAKE2b-256 |
d1f512fc20bb4c38d8ee406417e70b80d053cc9964b79ed0559f8f404a6d3c16
|