From 9b621dbfa95e46de1c9c986ab1239fd7d9b47fa7 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 3 Feb 2021 11:03:13 +0100 Subject: [PATCH 1/4] Bound all packages in the setuptools config --- setup.cfg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/setup.cfg b/setup.cfg index 4c55942dc..8c2187968 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,12 +5,12 @@ version = 1.2.0 [options] packages = . install_requires = - crypto - idna<3,>=2.5 - numpy - pillow - pycryptodome - pyqrcode - python-dateutil - requests - socks + crypto >= 1.4.1, < 2 + idna >= 2.5, < 3 + numpy >= 1.20.0, < 2 + pillow >= 8.1.0, < 9 + pycryptodome >= 3.9.9, < 4 + pyqrcode >= 1.2.1, < 2 + python-dateutil >= 2.8.1, < 3 + requests >= 2.25.1, < 3 + socks # no versions https://pypi.org/project/socks/ From 05705ded65258d4f8be73306d96e5362116c71f1 Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 3 Feb 2021 11:50:26 +0100 Subject: [PATCH 2/4] Use package directory to namespace modules --- __init__.py | 0 epicyon/README.md | 5 +++++ epicyon/__init__.py | 23 +++++++++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 __init__.py create mode 100644 epicyon/README.md create mode 100644 epicyon/__init__.py diff --git a/__init__.py b/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/epicyon/README.md b/epicyon/README.md new file mode 100644 index 000000000..8cb99765d --- /dev/null +++ b/epicyon/README.md @@ -0,0 +1,5 @@ +# Epicyon Pypi package + +This is a wrapper package for the purpose of gathering all modules under the +`epicyon` namespace when doing Python module imports. With this wrapper +package, you can get `from epicyon import httpsig` instead of `import httpsig`. diff --git a/epicyon/__init__.py b/epicyon/__init__.py new file mode 100644 index 000000000..a437682e1 --- /dev/null +++ b/epicyon/__init__.py @@ -0,0 +1,23 @@ +"""Pypi package module namespce wrapper. + +We do this automation based importing to take all Epicyon modules in under this +package namespace in one go. This way we do not have to maintain a module list +here just for the Pypi packaging effort and package builds will automatically +pick up new modules as we go forward. +""" + +from pathlib import Path +from pkgutil import walk_packages + +__all__ = [] + +package_root = str(Path(".").parent.absolute()) + +for loader, module_name, is_pkg in walk_packages([package_root]): + __all__.append(module_name) + + if module_name == "epicyon": + continue + + _module = loader.find_module(module_name).load_module(module_name) + globals()[module_name] = _module From 98aa94db4789134e32cdb03cdae3578b5e640e6e Mon Sep 17 00:00:00 2001 From: Luke Murphy Date: Wed, 3 Feb 2021 12:14:00 +0100 Subject: [PATCH 3/4] Fill out remaining pypi metadata --- setup.cfg | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/setup.cfg b/setup.cfg index 8c2187968..b2e1fcb5d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,23 @@ [metadata] name = epicyon version = 1.2.0 +author = Bob Mottram +author_email = bob@freedombone.net +maintainer = Bob Mottram +maintainer_email = bob@freedombone.net +description = A modern ActivityPub compliant server implementing both S2S and C2S protocols. +long_description = file: README.md +long_description_content_type = text/markdown +keywords = epicyon, activitypub, fediverse +license = GNU Affero General Public License v3 +license_file = LICENSE +classifiers = + Development Status :: 5 - Production/Stable + License :: OSI Approved :: GNU Affero General Public License v3 + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 [options] packages = . From 046193c30f64c04a46758e03da630e53aad79a05 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Feb 2021 12:05:23 +0000 Subject: [PATCH 4/4] Right separator --- static_analysis | 11 +++++++++++ theme/solidaric/icons/separator_right.png | Bin 0 -> 1272 bytes 2 files changed, 11 insertions(+) create mode 100644 theme/solidaric/icons/separator_right.png diff --git a/static_analysis b/static_analysis index 33e135b83..b237a5261 100755 --- a/static_analysis +++ b/static_analysis @@ -8,6 +8,17 @@ fi echo "Starting static analysis" +for sourceFile in epicyon/*.py +do + result=$($cmd "$sourceFile") + if [ "$result" ]; then + echo '' + echo "$result" + exit 1 + fi + echo -n '.' +done + for sourceFile in *.py do result=$($cmd "$sourceFile") diff --git a/theme/solidaric/icons/separator_right.png b/theme/solidaric/icons/separator_right.png new file mode 100644 index 0000000000000000000000000000000000000000..3f31f0fce4a0af81811c5785648734030ae63f70 GIT binary patch literal 1272 zcmV zaB^>EX>4U6ba`-PAZ2)IW&i+q+O3sqmgFW3h5xgPSpt#}63f9n&dCn4{JCJNx@x+U z%p>L)Q$h&&eliut-+#^U4Hv~2LsIixa>h8Ok_uN0Jl}46va4W{PTS4}i-TX|5kz3-XD+n&EqlL4j-5Nfl?lNJOa8Hif1CW37UpbABHDuT z)(Uy?5*%qPa;t|IfY3bLbPN1w2Y-AiER-q;>XzB@f;C=uh)e0Cwq$b__$i+ES3$x0 z2>^+(w;~yoeWI92lrrJmU?YN#4nP%|vn0MifK<67Nlqe}gR%448*7ZVFDqwWW}Hm` zp_0YGrbq>>loa)2$x%a9MU$##HT9rHYnGg{=A13BL#~=wGPP`GZpEsLCs)sI?q0kW zE`l>qODfM;UdZ)~3ufb>?Z)XPNa$?NI&Het{YtYP?A;KYLPxHJCj@&^k_Z zF#|D91md;`prCm%i%u!=BDa{u!uTkZk)$p*q0=G;glQ1#q$j%%azDi_sQ(l<{x5Q2 zq5D6`1)%%P?F(vs{m->c?EVUurcvL4<-TiYTFi2<8a3PgKDO<~3E+PQ zuJo3_TnA=8Nw2lE@Db3r4P0EeG-VIC+yMrj4B3<&$xkKZa=`l;eNzVLzXiJ2+_^Q+ zarywHXjX|E;NTD#%~STe$Gf}Q=l1WN=KOvD+w*eK0y}b;00006VoOIv00000008+z zyMF)x010qNS#tmY3ljhU3ljkVnw%H_000McNliru}OFbbz+eQN*!01-(