%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 * Tue May 30 2023 Python_Bot - 2.11.0-1 - Package Spec generated