# JMK Engineering Python Library or JEPL for short. I don't know if this should be called a library or a set of modules. What it is, is a set of functions that replace calculations that I do on a weekly basis. The library is broken into sections, with more being added later, including circuits and pv. Some of these libraries rely on publicly accessible information, including manufacturer data sheets. The libraries that rely on copyrighted information you need to make sure that you have a copy of the standard, code, etc before initializing the software. Use the example python notebook to get started. ## What we're missing Tests, I haven't written any real tests for this set of libraries, yet. That will be coming soon, probably the next time that we have a slow time. # Getting Started To use this set of tools you will need some rudimentary understanding of python. I suggest that you install: - Python 3 (any version) [link](https://www.python.org/downloads/) - PIP (To manage modules) [link](https://pypi.org/project/pip/) - VSCodium [link](https://vscodium.com) There are some python modules that are used heavily that you will need to, they all can be installed with ``pip``. Some may come pre-installed with the version of python that you install. - sys - pandas - numpy - sqlite3 - jinja2 - tomllib There are also a few VSCodium extensions that will be needed. - Jupyter ## Optional: My preferred way to manage this tool for multiple projects is using [git](https://git-scm.com/downloads). I will typically clone the entire repo and then work from there. # Limitations Currently the tools use the CEC, in most cases this will match the NEC, but something we are working on is updating that so we can select from which code version should be used for the calculation. Another limitation is the use of SQL databases. This limits its functionality as a module, but my ability with pandas dataframe lookups is very weak. If anyone wants to make the changes and submit a pull request, we can develop that method on a different branch and test it to the main in the near future. # Future Features There are a lot of different features that I am planning, including building a web app that will allow this tool to be easily used from a browser, but before I get to that the largest feature that I need to figure out is how to install this as a module so that it can be called from any script that you want.