summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pricedb.spec505
-rw-r--r--sources1
3 files changed, 507 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..83f8a67 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/PriceDb-2.11.0.tar.gz
diff --git a/python-pricedb.spec b/python-pricedb.spec
new file mode 100644
index 0000000..a4e43d1
--- /dev/null
+++ b/python-pricedb.spec
@@ -0,0 +1,505 @@
+%global _empty_manifest_terminate_build 0
+Name: python-PriceDb
+Version: 2.11.0
+Release: 1
+Summary: Price database storage for commodities
+License: GPL version 3
+URL: https://github.com/MisterY/price-database
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/32/19/4006d65211f0a4eae852c575e897958eb8319b4dfb7febb299fc969cfe89/PriceDb-2.11.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-click
+Requires: python3-click-log
+Requires: python3-sqlalchemy
+Requires: python3-beautifulsoup4
+Requires: python3-pydatum
+Requires: python3-finance-quote-python
+Requires: python3-usersconfig
+
+%description
+# price-database
+
+
+
+A simple Python library and a CLI for storage of prices
+
+
+
+The purpose of this project is to provide a storage and means of accessing a price database. It can be reused among multiple projects.
+
+
+
+The goal is very simple: separate a storage of prices of various elements (commodities) from other applications or components.
+
+
+
+The Price object has several properties:
+
+
+
+- unique identifier = uniquely identifies each record for ease of accessing
+
+- namespace = distinguishes the namespace for the symbol. Often the exchange name.
+
+- symbol = security/commodity symbol that identifies it within the namespace (exchange).
+
+- date = The date of the price
+
+- time = The time of the price
+
+- value = Value in currency
+
+- currency identifier = identifier for the currency. Can be anything the remote system is using.
+
+
+
+With these, it should be possible to store prices for commodities used in GnuCash, GnuCash Portfolio, Asset Allocation and other similar financial packages.
+
+
+
+## Development
+
+
+
+I'm toggling between using PyCharm and Visual Studio Code, with the following libraries:
+
+
+
+- pylint,
+
+- pytest,
+
+- rope, for refactoring
+
+
+
+## Installation
+
+
+
+`pip install -e .`
+
+
+
+Then manually copy the `data/prices-template.db` into `data/prices.db`.
+
+
+
+Running commands like `pricedb list` for the first time, will create pricedb.ini file in your home directory. Once created, edit the file and add the required values, like the database path and/or the API keys for online services.
+
+
+
+### Configuration
+
+
+
+PriceDb expects to find a configuration file "pricedb.ini" in the user's profile directory. It will create one if it doesn't find it, but you need to supply the values before the application is functional.
+
+At a minimum, provide the path to the database file.
+
+
+
+## Running
+
+
+
+`pricedb`
+
+
+
+is a command-line interface to all the provided functionality.
+
+Using Python, the PriceDbApplication class is the front-end, providing the same functionality through code.
+
+
+
+Example:
+
+
+
+`pricedb import data\AUD_2017-11-11_142445.csv AUD -v DEBUG`
+
+
+
+## Logging
+
+
+
+click-log package is used to provide log output. Simply enable by passing
+
+
+
+`-v LEVEL`
+
+
+
+to the command line, where LEVEL is one of the logging levels. Use empty -v option for details.
+
+
+
+# Publishing
+
+
+
+Publishing to PyPi:
+
+
+
+```
+
+python setup.py sdist bdist_wheel
+
+twine check dist/*
+
+twine upload --repository-url https://test.pypi.org/legacy/ dist/*
+
+twine upload dist/*
+
+```
+
+
+
+
+
+%package -n python3-PriceDb
+Summary: Price database storage for commodities
+Provides: python-PriceDb
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-PriceDb
+# price-database
+
+
+
+A simple Python library and a CLI for storage of prices
+
+
+
+The purpose of this project is to provide a storage and means of accessing a price database. It can be reused among multiple projects.
+
+
+
+The goal is very simple: separate a storage of prices of various elements (commodities) from other applications or components.
+
+
+
+The Price object has several properties:
+
+
+
+- unique identifier = uniquely identifies each record for ease of accessing
+
+- namespace = distinguishes the namespace for the symbol. Often the exchange name.
+
+- symbol = security/commodity symbol that identifies it within the namespace (exchange).
+
+- date = The date of the price
+
+- time = The time of the price
+
+- value = Value in currency
+
+- currency identifier = identifier for the currency. Can be anything the remote system is using.
+
+
+
+With these, it should be possible to store prices for commodities used in GnuCash, GnuCash Portfolio, Asset Allocation and other similar financial packages.
+
+
+
+## Development
+
+
+
+I'm toggling between using PyCharm and Visual Studio Code, with the following libraries:
+
+
+
+- pylint,
+
+- pytest,
+
+- rope, for refactoring
+
+
+
+## Installation
+
+
+
+`pip install -e .`
+
+
+
+Then manually copy the `data/prices-template.db` into `data/prices.db`.
+
+
+
+Running commands like `pricedb list` for the first time, will create pricedb.ini file in your home directory. Once created, edit the file and add the required values, like the database path and/or the API keys for online services.
+
+
+
+### Configuration
+
+
+
+PriceDb expects to find a configuration file "pricedb.ini" in the user's profile directory. It will create one if it doesn't find it, but you need to supply the values before the application is functional.
+
+At a minimum, provide the path to the database file.
+
+
+
+## Running
+
+
+
+`pricedb`
+
+
+
+is a command-line interface to all the provided functionality.
+
+Using Python, the PriceDbApplication class is the front-end, providing the same functionality through code.
+
+
+
+Example:
+
+
+
+`pricedb import data\AUD_2017-11-11_142445.csv AUD -v DEBUG`
+
+
+
+## Logging
+
+
+
+click-log package is used to provide log output. Simply enable by passing
+
+
+
+`-v LEVEL`
+
+
+
+to the command line, where LEVEL is one of the logging levels. Use empty -v option for details.
+
+
+
+# Publishing
+
+
+
+Publishing to PyPi:
+
+
+
+```
+
+python setup.py sdist bdist_wheel
+
+twine check dist/*
+
+twine upload --repository-url https://test.pypi.org/legacy/ dist/*
+
+twine upload dist/*
+
+```
+
+
+
+
+
+%package help
+Summary: Development documents and examples for PriceDb
+Provides: python3-PriceDb-doc
+%description help
+# price-database
+
+
+
+A simple Python library and a CLI for storage of prices
+
+
+
+The purpose of this project is to provide a storage and means of accessing a price database. It can be reused among multiple projects.
+
+
+
+The goal is very simple: separate a storage of prices of various elements (commodities) from other applications or components.
+
+
+
+The Price object has several properties:
+
+
+
+- unique identifier = uniquely identifies each record for ease of accessing
+
+- namespace = distinguishes the namespace for the symbol. Often the exchange name.
+
+- symbol = security/commodity symbol that identifies it within the namespace (exchange).
+
+- date = The date of the price
+
+- time = The time of the price
+
+- value = Value in currency
+
+- currency identifier = identifier for the currency. Can be anything the remote system is using.
+
+
+
+With these, it should be possible to store prices for commodities used in GnuCash, GnuCash Portfolio, Asset Allocation and other similar financial packages.
+
+
+
+## Development
+
+
+
+I'm toggling between using PyCharm and Visual Studio Code, with the following libraries:
+
+
+
+- pylint,
+
+- pytest,
+
+- rope, for refactoring
+
+
+
+## Installation
+
+
+
+`pip install -e .`
+
+
+
+Then manually copy the `data/prices-template.db` into `data/prices.db`.
+
+
+
+Running commands like `pricedb list` for the first time, will create pricedb.ini file in your home directory. Once created, edit the file and add the required values, like the database path and/or the API keys for online services.
+
+
+
+### Configuration
+
+
+
+PriceDb expects to find a configuration file "pricedb.ini" in the user's profile directory. It will create one if it doesn't find it, but you need to supply the values before the application is functional.
+
+At a minimum, provide the path to the database file.
+
+
+
+## Running
+
+
+
+`pricedb`
+
+
+
+is a command-line interface to all the provided functionality.
+
+Using Python, the PriceDbApplication class is the front-end, providing the same functionality through code.
+
+
+
+Example:
+
+
+
+`pricedb import data\AUD_2017-11-11_142445.csv AUD -v DEBUG`
+
+
+
+## Logging
+
+
+
+click-log package is used to provide log output. Simply enable by passing
+
+
+
+`-v LEVEL`
+
+
+
+to the command line, where LEVEL is one of the logging levels. Use empty -v option for details.
+
+
+
+# Publishing
+
+
+
+Publishing to PyPi:
+
+
+
+```
+
+python setup.py sdist bdist_wheel
+
+twine check dist/*
+
+twine upload --repository-url https://test.pypi.org/legacy/ dist/*
+
+twine upload dist/*
+
+```
+
+
+
+
+
+%prep
+%autosetup -n PriceDb-2.11.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-PriceDb -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.11.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..592b273
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b6e930e11cf199438bab19254fa5f725 PriceDb-2.11.0.tar.gz