-
Notifications
You must be signed in to change notification settings - Fork 179
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge #1484: Migrate to modern packaging and src layout
c8eef50 Migrate to modern packaging and src layout (roshii) Pull request description: - Migrate to src-layout following https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#src-layout to facilitate automatic package discovery and editable installs. - Create `joinmarket` namespace distribution package in line with https://packaging.python.org/en/latest/guides/packaging-namespace-packages/ - Migrate to `pyproject.toml` file for project configuration instead of legacy `setup.py` In practice: - Joinmarket packages are moved to `src` folder, with their respective test moved to `test` folder at project root - Optional dependencies definitions groups allows a granular installation depending on user needs - Integrated test cannot be run prior to subpackages' respective test, `reactor` is somehow left unclean by the latter., the former test definitions are therefore moved to a dedicated `unified` folder. - A private module is created in `jmqtui` to be run upon UI update (not tested) Fixes #1491 Top commit has no ACKs. Tree-SHA512: f88c4f58c114700a68cbc451fa37ad53e9e2e07b837c20ac4d83a73e6803a28a4a38ec68320932ba309a72107d6747f37465f9898a9cdf0e2f210aa067146e1b
- Loading branch information
Showing
144 changed files
with
121 additions
and
212 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,4 @@ | ||
# .coveragerc to control coverage.py | ||
[run] | ||
omit = | ||
jmclient/jmclient/jsonrpc.py | ||
jmclient/jmclient/electruminterface.py | ||
jmclient/jmclient/btc.py | ||
jmclient/test/* | ||
jmclient/setup.py | ||
jmbitcoin/test/* | ||
jmbitcoin/setup.py | ||
jmbase/test/* | ||
jmbase/setup.py | ||
jmdaemon/test/* | ||
jmdaemon/setup.py | ||
jmdaemon/jmdaemon/socks.py | ||
src/jmclient/jsonrpc.py |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
[build-system] | ||
requires = ["setuptools>=64", "wheel"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "joinmarket" | ||
version = "0.9.11dev" | ||
description = "Joinmarket client library for Bitcoin coinjoins" | ||
readme = "README.md" | ||
requires-python = ">=3.7" | ||
license = {file = "LICENSE"} | ||
dependencies = [ | ||
"chromalog==1.0.5", | ||
"pyaes==1.6.1", | ||
"service-identity==21.1.0", | ||
"txtorcon==22.0.0", | ||
"twisted==22.4.0", | ||
] | ||
|
||
[project.optional-dependencies] | ||
jmbitcoin = [ | ||
"python-bitcointx==1.1.3", | ||
] | ||
jmclient = [ | ||
"argon2_cffi==21.3.0", | ||
"autobahn==20.12.3", | ||
"bencoder.pyx==3.0.1", | ||
"klein==20.6.0", | ||
"mnemonic==0.20", | ||
"pyjwt==2.4.0", | ||
"werkzeug==2.2.3", | ||
] | ||
jmdaemon = [ | ||
"libnacl==1.8.0", | ||
"pyopenssl==23.2.0", | ||
'cryptography==3.3.2; platform_machine != "aarch64" and platform_machine != "amd64" and platform_machine != "x86_64"', | ||
'cryptography==41.0.2; platform_machine == "aarch64" or platform_machine == "amd64" or platform_machine == "x86_64"', | ||
] | ||
jmqtui = [ | ||
"PyQt5!=5.15.0,!=5.15.1,!=5.15.2,!=6.0", | ||
"PySide2!=5.15.0,!=5.15.1,!=5.15.2,!=6.0", # https://bugreports.qt.io/browse/QTBUG-88688 | ||
"qrcode[pil]==7.3.1", | ||
'pywin32; platform_system == "Windows"', | ||
"qt5reactor==0.6.3", | ||
] | ||
client = [ | ||
"joinmarket[jmclient]", | ||
"joinmarket[jmbitcoin]", | ||
] | ||
daemon = [ | ||
"joinmarket[jmdaemon]", | ||
] | ||
services = [ | ||
"joinmarket[client]", | ||
"joinmarket[daemon]", | ||
] | ||
test = [ | ||
"joinmarket[services]", | ||
"coverage==5.2.1", | ||
"flake8", | ||
"freezegun", | ||
"mock", | ||
"pexpect", | ||
"pytest-cov>=2.4.0,<2.6", | ||
"pytest==6.2.5", | ||
"python-coveralls", | ||
] | ||
gui = [ | ||
"joinmarket[services]", | ||
"joinmarket[jmqtui]", | ||
] | ||
|
||
[project.urls] | ||
repository = "https://github.com/JoinMarket-Org/joinmarket-clientserver.git" | ||
|
||
[tool.setuptools.packages.find] | ||
where = ["src"] | ||
exclude = ["*.test"] | ||
|
||
[tool.pytest.ini_options] | ||
testpaths = ["test"] |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.