Skip to main content

An electronics parts management software

Project description

E707 Electronics Parts Database (E7EPD)

Database Rev 0.5, Backend and CLI Rev 0.5.1

Still a Work-In-Progress

This project attempts to create yet another open-source electronics parts management system. While there are some out there, I wasn't satisfied with them.

Philosophy and Goals

  • Simplicity: The core application should remain simple to allow for ease of adding features. This is partially why only a CLI will be created for this instead of a webpage or a GUI application, and why the language this program will use is Python.
  • Modularity: The core application will be made in such a way as to allow ease of adding new parameters for example. Mostly will be accomplished with configuration lists
  • Parameterization, Kind of: The only components that really need parameterization are things like resistors, capacitors, etc. Things where the specific part number doesn't matter for a project. In contrast to a microcontroller, a project can't really say: I don't care which micro as long as it's 8-bits.
  • Interoperability: This database specification will use a common database (SQL like), and be documented so that migration from and away from this specific program shall be possible.

Installation

From Rev0.4 and onwards, e7epd can be installed with

pip install e7epd

To install from the GitHub repository, run the following command inside the cloned repository:

pip install .

Security:

As of Rev 0.3, this project uses sqlAlchemy, without directly creating SQL commands like before. This should make it more secure than previous revisions in terms of arbitrary SQL code issues.

NOTICE: The password for a mySQL user is stored in a json file in plain format. Make sure the mySQL account only has permission to the parts' database.

CLI Application

To start using this application/database, simply launch e7epd from the command line. Prompts should show up, allowing you to interact with the parts database. Some of the things you can do with it are:

  • Add a part
  • Delete a part
  • See the entire part's database table
  • Add and/or remove stock to a part

Docs

The documentation for this project can be found in the project's readthedocs.

The documentation is for the latest released version. For the non-released master docs, see here.

Database specification and Interface

For more details as to how parts are stored in the database, see database specification

The python file e7epd.py includes a E7EPD class, which is a wrapper for the database. To add the database wrapper e7epd.py to your project, you will need Python>3.7 with their pre-installed packages as well as the following extra packages:

The following packages are required to run it:

Changelog and In-Progress

For the changelog and in-progress additions, see the project's master changelog for more details on that.

License

The license for this project is the GNU General Public License v3. The full text can be found at LICENSE.md

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

e7epd-0.6.0.tar.gz (35.5 kB view details)

Uploaded Source

Built Distribution

e7epd-0.6.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file e7epd-0.6.0.tar.gz.

File metadata

  • Download URL: e7epd-0.6.0.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for e7epd-0.6.0.tar.gz
Algorithm Hash digest
SHA256 dc278527c61a091ee392783a5d126a7cd21e3f7319e6a9908b8c821a9795a053
MD5 3f476939f7ee7b40f385f264f141c9ca
BLAKE2b-256 d5069077a182d6ee4e75fafd763d5f271a1f7863c08e59c56cb4aaebf46ff137

See more details on using hashes here.

File details

Details for the file e7epd-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: e7epd-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for e7epd-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ba9e473b088a56b62358666eef00c638cf2c1373323346f21238c87097de435
MD5 b9b1ba8cde1e616c60aea9eac7588d64
BLAKE2b-256 64cf81d15dae1bfcf12bc2afbf40b547adb4cc75ef714ce7ffcbcf0042bdf2de

See more details on using hashes here.

Supported by

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