Go to file
Oliver c7eb90347a
Exchange rate plugin (#5667)
* Add plugin mixin class for supporting exchange rates

* Split some mixin classes out into their own files

- mixins.py is becoming quite bloated!

* Add some new settings for controlling currency updates

* Adds basic plugin implementation

* Refactor existing implementation

- Builtin plugin uses frankfurter.app API
- Better error / edge case handlign

* Add sample plugin for currency exchange

* Allow user to select which plugin to use for plugin updates

* Observe user-configured setting for how often exchange rates are updated

* Updates for some of the sample plugins

* Fix plugin slug

* Add doc page

* Document simple example

* Improve sample

* Add blank page for currency settings info

* More info in "config" page

* Update docs again

* Updated unit tests

* Fill out default settings values when InvenTree runs

* Add log messages

* Significant improvement in default settings speed

- Use bulk create
- Be efficient
- Dont' be inefficient

* More strict checks

* Refactor default values implementation

- Don't run at startup
- Run on list API
- Implement generic @classmethod
2023-10-05 21:19:28 +11:00
.devcontainer Native LDAP support (#5226) 2023-10-05 07:52:36 +11:00
.devops Add azure pipelines (#4453) 2023-04-03 16:55:27 +10:00
.github Docker CI test (#5544) 2023-09-15 22:44:54 +10:00
.vscode Add worker task to VS Code (#5605) 2023-10-01 21:06:34 +11:00
ci Fix common spelling mistakes (#4956) 2023-06-04 00:04:52 +10:00
contrib Packages - force python 3.9 (#5206) 2023-08-06 21:50:38 +10:00
deploy fix endline 2022-05-20 13:35:07 +02:00
docker Native LDAP support (#5226) 2023-10-05 07:52:36 +11:00
docs Exchange rate plugin (#5667) 2023-10-05 21:19:28 +11:00
images/logo Export large version of the logo 2020-05-12 00:06:26 +10:00
InvenTree Exchange rate plugin (#5667) 2023-10-05 21:19:28 +11:00
src/frontend Bump deps (#5666) 2023-10-05 09:48:53 +11:00
.djlintrc Replace mklint with djlint (#4746) 2023-05-02 20:03:52 +10:00
.eslintrc.yml Fix JS linting workflow (#4915) 2023-05-30 22:55:53 +10:00
.gitattributes fix endline 2022-05-20 13:35:07 +02:00
.gitignore React tweaks (#5300) 2023-07-21 09:46:44 +10:00
.pkgr.yml Packages - force python 3.9 (#5206) 2023-08-06 21:50:38 +10:00
.pre-commit-config.yaml Add flake8-logging linting (#5620) 2023-09-28 14:53:22 +10:00
backportrc.json Add workflow for backporting PRs (#4912) 2023-05-28 18:55:06 +10:00
CONTRIBUTING.md Platform UI - React integration (#5011) 2023-07-18 22:45:49 +10:00
crowdin.yml P-UI: Adapt translation CI (#5299) 2023-07-21 09:00:37 +10:00
docker-compose.yml Remove container-name:s from Compose file (#5339) 2023-07-25 12:51:37 +10:00
docker.dev.env Adds optional config setting to enable database level logging (#5617) 2023-09-25 16:54:17 +10:00
Dockerfile Native LDAP support (#5226) 2023-10-05 07:52:36 +11:00
LICENSE Update LICENSE 2022-02-21 22:31:10 +11:00
package-lock.json [WIP] Mantine datatables (#5218) 2023-07-27 10:10:07 +10:00
package.json [WIP] Mantine datatables (#5218) 2023-07-27 10:10:07 +10:00
Procfile fix cli on 22.04 (#5204) 2023-07-09 08:40:27 +10:00
README.md Add netlify for fast previews (#5353) 2023-07-27 11:17:44 +10:00
readthedocs.yml Update readthedocs (#5565) 2023-09-19 06:20:23 +10:00
RELEASE.md Documentation integration (#4653) 2023-04-22 22:40:29 +10:00
requirements-dev.in Slow tests (#4435) 2023-03-02 13:51:52 +11:00
requirements-dev.txt Bump deps (#5666) 2023-10-05 09:48:53 +11:00
requirements.in Bump deps (#5487) 2023-09-07 09:02:31 +10:00
requirements.txt Bump deps (#5666) 2023-10-05 09:48:53 +11:00
runtime.txt Add package-based install method (#3743) 2022-10-16 10:14:18 +11:00
SECURITY.md Spelling fix: dates -> days (#3193) 2022-06-14 10:07:48 +10:00
setup.cfg Code style improvements (#4683) 2023-04-28 20:49:53 +10:00
tasks.py Added install step to trans (#5327) 2023-07-24 08:31:19 +10:00
yarn.lock [WIP] Mantine datatables (#5218) 2023-07-27 10:10:07 +10:00

InvenTree logo

InvenTree

Open Source Inventory Management System

License: MITGitHub tag (latest SemVer) CI Documentation Status Docker Build OpenSSF Best Practices Netlify Status

Coveralls Crowdin GitHub commit activity Docker Pulls

GitHub Org's stars Twitter Follow Subreddit subscribers

View Demo · Documentation · Report Bug · Request Feature

🌟 About the Project

InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. A powerful plugin system provides support for custom applications and extensions.

Check out our website for more details.

🧭 Roadmap

Want to see what we are working on? Check out the roadmap tag and horizon milestone.

🛠️ Integration

InvenTree is designed to be extensible, and provides multiple options for integration with external applications or addition of custom plugins:

👾 Tech Stack

Server
Database
Client
DevOps

🧰 Deployment / Getting Started

There are several options to deploy InvenTree.

Single line install - read the docs for supported distros and details about the function:

wget -qO install.sh https://get.inventree.org && bash install.sh

Refer to the getting started guide for a full set of installation and setup instructions.

📱 Mobile App

InvenTree is supported by a companion mobile app which allows users access to stock control information and functionality.

👋 Contributing

Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the contribution page.

📜 Translation

Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged.

💸 Sponsor

If you use InvenTree and find it to be useful, please consider sponsoring the project.

💎 Acknowledgements

We would like to acknowledge a few special projects:

Find a full list of used third-party libraries in our documentation.

This project is supported by:

Deploys by Netlify

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.