specter-desktop/setup.py
relativisticelectron a8f1b808ee
Chore: Upgrade to python 3.10 (#1688)
* changed class name

* Working requirements.in

* Reordered lines to see changes better

* Working minimal upgrades

* Added hashes

* - Upgraded python to 3.10 and bitcoin to v23.0
- Added libzmq to build process, to enable future use cases such as https://github.com/cryptoadvance/specter-desktop/issues/778
- added --without-gui to remove configure warning that gui will not be built.

* Added line-break

* - Updated the embit version to 0.4.13
- pushed python-bitcoind image

* - Build registry.gitlab.com/c8527/specter/cirrus-jammy:20220504
- updated docker references

* - added cypress-base-ubuntu-jammy

* - added cypress-python

* - fixed unchanged registry path

* Fixed wrong path

* readme change

* Fixed path

* Changed github-changelog

* changes registrar links

* Fixed bitcoin version

* Set reset bitcoin version to 22

* Set bitcoin version to 22.0

* Fixed black issue via https://github.com/psf/black/issues/2964#issuecomment-1080974737

* Revert for changelog

* Upgraded pytest because otherwise I get the error  https://github.com/pytest-dev/pytest/discussions/9195

* Added temporary fix for upgraded hwi version. Should be fixed in https://github.com/cryptoadvance/specter-desktop/pull/1693

* more verbosity for page generation

* doc about python 3.10

* docs: update TOC

* yet another library necessary

* black

* Corrected tag

* Fixed wrong python version introduced in the merge commit

* Use same babel version across requirements and test_requirements

* Created the reuqirements.txt with python 3.8 such, that that netlify can create the python docs in python 3.8, while everything elese works also with python 3.10

* testing https://peps.python.org/pep-0508/#environment-markers

* CHanged just the txt

* Added comments

* electron docker build successful

* rename image to cypress-python:v9.7.0

* doc

* docker file rename

* fix pyinstaller pip error by changing requirements.in

* reference jammy electron dockerfile

See https://github.com/electron-userland/electron-builder/pull/6922#issuecomment-1234420845

* updated all references to dockerimages

* fix release-build

* fix the image-version to something else than latest. pin all the stuff!

* revert to old image to avoid glibc issues

Co-authored-by: Kim Neunert <k9ert@gmx.de>
Co-authored-by: k9ert <k9ert@users.noreply.github.com>
2022-09-13 10:44:49 +02:00

77 lines
2.5 KiB
Python
Executable file

from babel.messages import frontend as babel
from glob import glob
from setuptools import find_namespace_packages, setup
from setuptools.command.install import install
class InstallWithBabelCompile(install):
"""from this stackoverflow question
https://stackoverflow.com/questions/40051076/compile-translation-files-when-calling-setup-py-install
"""
def run(self):
from babel.messages.frontend import compile_catalog
compiler = compile_catalog(self.distribution)
option_dict = self.distribution.get_option_dict("compile_catalog")
compiler.domain = [option_dict["domain"][1]]
compiler.directory = option_dict["directory"][1]
compiler.run()
super().run()
with open("requirements.txt") as f:
install_reqs = f.read().strip().split("\n")
# Filter out comments/hashes
reqs = []
for req in install_reqs:
if req.startswith("#") or req.startswith(" --hash="):
continue
reqs.append(str(req).rstrip(" \\"))
with open("README.md", "r") as fh:
long_description = fh.read()
setup(
name="cryptoadvance.specter",
version="vx.y.z-get-replaced-by-release-script",
author="Stepan Snigirev, Kim Neunert",
author_email="snigirev.stepan@gmail.com, kim.neunert@gmail.com",
description="A GUI for Bitcoin Core optimised to work with airgapped hardware wallets",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/cryptoadvance/specter-desktop",
packages=find_namespace_packages("src", include=["cryptoadvance.*"]),
package_dir={"": "src"},
package_data={
"": [
"translations/*/LC_MESSAGES/messages.mo",
]
},
# take METADATA.in into account, include that stuff as well (static/templates)
include_package_data=True,
install_requires=reqs,
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Framework :: Flask",
],
python_requires=">=3.7,<4.0",
cmdclass={
"install": InstallWithBabelCompile,
# The rest is convenience but not strictly necessary for the automation:
"compile_catalog": babel.compile_catalog,
"extract_messages": babel.extract_messages,
"init_catalog": babel.init_catalog,
"update_catalog": babel.update_catalog,
},
entry_points="""
[console_scripts]
specter=cryptoadvance.specter.cli:entry_point
""",
)