Skip to content

Instantly share code, notes, and snippets.

@nothingmuch
Created February 22, 2021 05:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nothingmuch/f03b7dba6b6b26d6c183c4c20df5df89 to your computer and use it in GitHub Desktop.
Save nothingmuch/f03b7dba6b6b26d6c183c4c20df5df89 to your computer and use it in GitHub Desktop.
(define-module (wabisabi packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages django)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (guix build-system python)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download))
;; guix pathpy seems to not install properly, the library doesn't actually end up in site packages
(define-public python-path
(package
(name "python-path")
(version "15.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "path" version))
(sha256
(base32
"1dv07yqwbap6dxi0pma37vfaprd6j630zymwr0hvy9b8v3prlqmv"))))
(outputs '("out"))
(build-system python-build-system)
(propagated-inputs
`(("python-appdirs" ,python-appdirs)
("python-importlib-metadata" ,python-importlib-metadata)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
("python-wheel" ,python-setuptools-scm)
("python-toml" ,python-toml)
("python-setuptools" ,python-setuptools-scm)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)
("python-jaraco-packaging" ,python-jaraco-packaging)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; The import time test aborts if an import takes longer than
;; 100ms. It may very well take a little longer than that.
(invoke "pytest" "-v" "-k" "not test_import_time"))))))
(home-page "https://github.com/jaraco/path.py")
(synopsis "Python module wrapper for built-in os.path")
(description
"@code{path.py} implements path objects as first-class entities, allowing
common operations on files to be invoked on those path objects directly.")
(license license:expat)))
;; use updated 'path' dep instead of 'path.py'
(define-public python-pytest-shutil-fixed
(package
(name "python-pytest-shutil-fixed")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-shutil" version))
(sha256
(base32
"0q8j0ayzmnvlraml6i977ybdq4xi096djhf30n2m1rvnvrhm45nq"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(mkdir "/tmp/bin")
(substitute* "tests/integration/test_cmdline_integration.py"
(("dirname = '/bin'")
"dirname = '/tmp/bin'")
(("bindir = os.path.realpath\\('/bin'\\)")
"bindir = os.path.realpath('/tmp/bin')"))
(substitute* "setup.py"
(("path.py")
"path"))
#t)))))
(propagated-inputs
`(("python-contextlib2" ,python-contextlib2)
("python-execnet" ,python-execnet)
("python-path" ,python-path)
("python-termcolor" ,python-termcolor)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-setuptools-git" ,python-setuptools-git)))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Assorted shell and environment tools for py.test")
(description
"This package provides assorted shell and environment tools for the
py.test testing framework.")
(license license:expat)))
(define-public python-pyscaffold
(package
(name "python-pyscaffold")
(version "3.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyScaffold" version))
(sha256
(base32
"0sba9wcwfxm4gsjg0ssp85i9q4420cj4xdd8qbzvc683wrv2nfhw"))))
(build-system python-build-system)
(propagated-inputs
`(("python-setuptools" ,python-setuptools)))
(native-inputs
`(("python-cookiecutter" ,python-cookiecutter)
("python-django" ,python-django)
("python-flake8" ,python-flake8)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-fixture-config"
,python-pytest-fixture-config)
("python-pytest-shutil-fixed" ,python-pytest-shutil-fixed)
("python-pytest-virtualenv"
,python-pytest-virtualenv)
("python-pytest-xdist" ,python-pytest-xdist)
("python-sphinx" ,python-sphinx)))
(home-page
"https://github.com/pyscaffold/pyscaffold/")
(synopsis
"Template tool for putting up the scaffold of a Python project")
(description
"Template tool for putting up the scaffold of a Python project")
(license license:expat)))
(define-public python-salib
(package
(name "python-salib")
(version "1.3.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "SALib" version))
(sha256
(base32
"18hy1sqjc360lpal6qw2piqwddk1q564m74x4n27jandhrj9k34i"))))
(build-system python-build-system)
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-pandas" ,python-pyscaffold)
("python-scipy" ,python-scipy)))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)))
(home-page "http://salib.github.io/SALib/")
(synopsis
"Tools for sensitivity analysis. Contains Sobol, Morris, and FAST methods")
(description
"Tools for sensitivity analysis. Contains Sobol, Morris, and FAST methods")
(license license:expat)))
(define-public python-agentpy
(package
(name "python-agentpy")
(version "0.0.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "agentpy" version))
(sha256
(base32
"1dv2vpjbv1d7vyjfi0pdiqvplfjz9l969k0qi7s6cba2mfkydkvm"))))
(build-system python-build-system)
(propagated-inputs
`(("python-ipython" ,python-ipython)
("python-ipywidgets" ,python-ipywidgets)
("python-matplotlib" ,python-matplotlib)
("python-networkx" ,python-networkx)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-salib" ,python-salib)
("python-scipy" ,python-scipy)))
(home-page "https://agentpy.readthedocs.io/")
(synopsis "Agent-based modeling in Python")
(description "Agent-based modeling in Python")
(license license:bsd-3)))
(define-public python-bitcoin-coin-selection
(let ((commit "96be26f0930debfec75ee6749c8fb5f9fc008312")
(revision "0"))
(package
(name "python-bitcoin-coin-selection")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Kevingislason/bitcoin_coin_selection.git")
(commit commit)))
(sha256
(base32
"1cwvs3pnbqkr2ig3wqzsklbncqd82kwf3zjag5i5sji9cl2hcpp8"))
;; (patches (list (string-append (dirname (current-filename)) "/patches/bitcoin-coin-selection-setuppy.patch"))))) ;; breaks manifest.scm usage (gexp related?)
(patches (list "/home/user/WabiSabi/Amount_Organization/guix/lib/wabisabi/patches/bitcoin-coin-selection-setuppy.patch"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/Kevingislason/bitcoin_coin_selection")
(synopsis "Port of Bitcoin core coin selection logic to Python")
(description "Port of Bitcoin core coin selection logic to Python, prioritizing fidelity to the original and convenience. Classes / functions were named and organized per the original C++ code as far as was practicable. Most comments are copied.")
(license license:expat))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment