[PATCH 0/6] Add Mesa agent based modeling platform

  • Open
  • quality assurance status badge
Details
3 participants
  • jlicht
  • Ludovic Courtès
  • Calvin Pritchard
Owner
unassigned
Submitted by
Calvin Pritchard
Severity
normal
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
(address . guix-patches@gnu.org)
20190506030507.5469-1-pritchard.calvin@gmail.com
This patch series is to add the python agent based modeling platform
Mesa. It is in Python 3 only. I've added Python 2 versions for poyo and
whichcraft since they worked without modification. The `arrow` package
Python 2. I could add that package as a conditional dependency but I'm
not sure how.

Calvin Pritchard (6):
gnu: Add python-arrow
gnu: Add python-whichcraft, python2-whichcraft
gnu: Add python-poyo, python2-poyo
gnu: Add python-jinja2-time
gnu: Add python-cookiecutter
gnu: Add python-mesa

gnu/packages/python-xyz.scm | 163 ++++++++++++++++++++++++++++++++++++
1 file changed, 163 insertions(+)

--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 1/6] gnu: Add python-arrow
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-2-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-arrow). New variables.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b0d2b105ca..bdc6f408f0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2150,6 +2150,36 @@ JavaScript-like message boxes. Types of dialog boxes include:
")
(license license:bsd-3)))
+(define-public python-arrow
+ (package
+ (name "python-arrow")
+ (version "0.13.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "arrow" version))
+ (sha256
+ (base32
+ "12hbnrfwa4r9n7zpbpfvah6dh8blzb3w5f4zmhgq3dy02vqdjm3g"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-chai" ,python-chai)
+ ("python-pytz" ,python-pytz)
+ ("python-simplejson" ,python-simplejson)))
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)))
+ (home-page
+ "https://github.com/crsmithdev/arrow/")
+ (synopsis "Better dates and times for Python")
+ (description "Arrow is a Python library that offers a sensible,
+human-friendly approach to creating, manipulating, formatting and
+converting dates, times, and timestamps. It implements and updates
+the datetime type, plugging gaps in functionality, and provides an
+intelligent module API that supports many common creation scenarios.
+Simply put, it helps you work with dates and times with fewer imports
+and a lot less code.")
+ (license license:asl2.0)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 4/6] gnu: Add python-jinja2-time
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-5-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-jinja2-time). New variables.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 815e190d5f..3407803ca6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2228,6 +2228,28 @@ It can read a subset of yaml and is not capable of write yaml")
(define-public python2-poyo
(package-with-python2 python-poyo))
+(define-public python-jinja2-time
+ (package
+ (name "python-jinja2-time")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jinja2-time" version))
+ (sha256
+ (base32
+ "0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-arrow" ,python-arrow)
+ ("python-jinja2" ,python-jinja2)))
+ (home-page
+ "https://github.com/hackebrot/jinja2-time")
+ (synopsis "Jinja2 Extension for Dates and Times")
+ (description
+ "Jinja2 Extension for Dates and Times")
+ (license license:expat)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 2/6] gnu: Add python-whichcraft, python2-whichcraft
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-3-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-whichcraft, python2-whichcraft).
New variables.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bdc6f408f0..4cee74591d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2180,6 +2180,31 @@ Simply put, it helps you work with dates and times with fewer imports
and a lot less code.")
(license license:asl2.0)))
+(define-public python-whichcraft
+ (package
+ (name "python-whichcraft")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "whichcraft" version))
+ (sha256
+ (base32
+ "058qr17inlhp9354q1lr0qq31yhqzfd405djp1fzqzr33x9xvkgy"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page
+ "https://github.com/pydanny/whichcraft")
+ (synopsis
+ "Provides cross-platform cross-python shutil.which")
+ (description
+ "This package provides cross-platform cross-python shutil.which functionality.")
+ (license license:bsd-3)))
+
+(define-public python2-whichcraft
+ (package-with-python2 python-whichcraft))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 5/6] gnu: Add python-cookiecutter
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-6-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-cookiecutter). New variables.
---
gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3407803ca6..a801376c6d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2250,6 +2250,39 @@ It can read a subset of yaml and is not capable of write yaml")
"Jinja2 Extension for Dates and Times")
(license license:expat)))
+(define-public python-cookiecutter
+ (package
+ (name "python-cookiecutter")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cookiecutter" version))
+ (sha256
+ (base32
+ "0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-freezegun" ,python-freezegun)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-binaryornot" ,python-binaryornot)
+ ("python-click" ,python-click)
+ ("python-future" ,python-future)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jinja2-time" ,python-jinja2-time)
+ ("python-poyo" ,python-poyo)
+ ("python-requests" ,python-requests)
+ ("python-whichcraft" ,python-whichcraft)))
+ (home-page
+ "https://github.com/audreyr/cookiecutter")
+ (synopsis
+ "Command-line utility to create projects from templates")
+ (description
+ "A command-line utility that creates projects from project templates,
+e.g. creating a Python package project from a Python package project template.")
+ (license license:bsd-3)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 6/6] gnu: Add python-mesa
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-7-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-mesa). New variables.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a801376c6d..5eddf9cc2c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2283,6 +2283,36 @@ It can read a subset of yaml and is not capable of write yaml")
e.g. creating a Python package project from a Python package project template.")
(license license:bsd-3)))
+(define-public python-mesa
+ (package
+ (name "python-mesa")
+ (version "0.8.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Mesa" version))
+ (sha256
+ (base32
+ "0qn7gsv1ni5ccm6r6k02m94m4n6sy791yqk0h90x2ym09asvpf2b"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-cookiecutter" ,python-cookiecutter)
+ ("jupyter" ,jupyter)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-tornado" ,python-tornado)
+ ("python-tqdm" ,python-tqdm)))
+ (home-page "https://github.com/projectmesa/mesa")
+ (synopsis
+ "Agent-based modeling (ABM) in Python 3+")
+ (description
+ "Mesa is an agent-based modeling framework in Python. It contains core
+components to implement spatial models, schedule agents and visualize model
+runs")
+ (license license:asl2.0)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 05:05
[PATCH 3/6] gnu: Add python-poyo, python2-poyo
(address . guix-patches@gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506030507.5469-4-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-poyo, python2-poyo).
New variables.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4cee74591d..815e190d5f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2205,6 +2205,29 @@ and a lot less code.")
(define-public python2-whichcraft
(package-with-python2 python-whichcraft))
+(define-public python-poyo
+ (package
+ (name "python-poyo")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "poyo" version))
+ (sha256
+ (base32
+ "07fdxlqgnnzb8r6lasvdfjcbd8sb9af0wla08rbfs40j349m8jn3"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/hackebrot/poyo")
+ (synopsis "YAML Parser for Python")
+ (description
+ "A YAML Parser for Python.
+
+It can read a subset of yaml and is not capable of write yaml")
+ (license license:expat)))
+
+(define-public python2-poyo
+ (package-with-python2 python-poyo))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 1/6] gnu: Add python-arrow
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-1-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-arrow). New variables.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index b0d2b105ca..bdc6f408f0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2150,6 +2150,36 @@ JavaScript-like message boxes. Types of dialog boxes include:
")
(license license:bsd-3)))
+(define-public python-arrow
+ (package
+ (name "python-arrow")
+ (version "0.13.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "arrow" version))
+ (sha256
+ (base32
+ "12hbnrfwa4r9n7zpbpfvah6dh8blzb3w5f4zmhgq3dy02vqdjm3g"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-chai" ,python-chai)
+ ("python-pytz" ,python-pytz)
+ ("python-simplejson" ,python-simplejson)))
+ (propagated-inputs
+ `(("python-dateutil" ,python-dateutil)))
+ (home-page
+ "https://github.com/crsmithdev/arrow/")
+ (synopsis "Better dates and times for Python")
+ (description "Arrow is a Python library that offers a sensible,
+human-friendly approach to creating, manipulating, formatting and
+converting dates, times, and timestamps. It implements and updates
+the datetime type, plugging gaps in functionality, and provides an
+intelligent module API that supports many common creation scenarios.
+Simply put, it helps you work with dates and times with fewer imports
+and a lot less code.")
+ (license license:asl2.0)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 2/6] gnu: Add python-whichcraft, python2-whichcraft
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-2-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-whichcraft, python2-whichcraft).
New variables.
---
gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index bdc6f408f0..4cee74591d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2180,6 +2180,31 @@ Simply put, it helps you work with dates and times with fewer imports
and a lot less code.")
(license license:asl2.0)))
+(define-public python-whichcraft
+ (package
+ (name "python-whichcraft")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "whichcraft" version))
+ (sha256
+ (base32
+ "058qr17inlhp9354q1lr0qq31yhqzfd405djp1fzqzr33x9xvkgy"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page
+ "https://github.com/pydanny/whichcraft")
+ (synopsis
+ "Provides cross-platform cross-python shutil.which")
+ (description
+ "This package provides cross-platform cross-python shutil.which functionality.")
+ (license license:bsd-3)))
+
+(define-public python2-whichcraft
+ (package-with-python2 python-whichcraft))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 3/6] gnu: Add python-poyo, python2-poyo
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-3-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-poyo, python2-poyo).
New variables.
---
gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 4cee74591d..815e190d5f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2205,6 +2205,29 @@ and a lot less code.")
(define-public python2-whichcraft
(package-with-python2 python-whichcraft))
+(define-public python-poyo
+ (package
+ (name "python-poyo")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "poyo" version))
+ (sha256
+ (base32
+ "07fdxlqgnnzb8r6lasvdfjcbd8sb9af0wla08rbfs40j349m8jn3"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/hackebrot/poyo")
+ (synopsis "YAML Parser for Python")
+ (description
+ "A YAML Parser for Python.
+
+It can read a subset of yaml and is not capable of write yaml")
+ (license license:expat)))
+
+(define-public python2-poyo
+ (package-with-python2 python-poyo))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 4/6] gnu: Add python-jinja2-time
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-4-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-jinja2-time). New variables.
---
gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 815e190d5f..3407803ca6 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2228,6 +2228,28 @@ It can read a subset of yaml and is not capable of write yaml")
(define-public python2-poyo
(package-with-python2 python-poyo))
+(define-public python-jinja2-time
+ (package
+ (name "python-jinja2-time")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jinja2-time" version))
+ (sha256
+ (base32
+ "0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-arrow" ,python-arrow)
+ ("python-jinja2" ,python-jinja2)))
+ (home-page
+ "https://github.com/hackebrot/jinja2-time")
+ (synopsis "Jinja2 Extension for Dates and Times")
+ (description
+ "Jinja2 Extension for Dates and Times")
+ (license license:expat)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 5/6] gnu: Add python-cookiecutter
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-5-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-cookiecutter). New variables.
---
gnu/packages/python-xyz.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3407803ca6..a801376c6d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2250,6 +2250,39 @@ It can read a subset of yaml and is not capable of write yaml")
"Jinja2 Extension for Dates and Times")
(license license:expat)))
+(define-public python-cookiecutter
+ (package
+ (name "python-cookiecutter")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cookiecutter" version))
+ (sha256
+ (base32
+ "0glsvaz8igi2wy1hsnhm9fkn6560vdvdixzvkq6dn20z3hpaa5hk"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-freezegun" ,python-freezegun)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-binaryornot" ,python-binaryornot)
+ ("python-click" ,python-click)
+ ("python-future" ,python-future)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jinja2-time" ,python-jinja2-time)
+ ("python-poyo" ,python-poyo)
+ ("python-requests" ,python-requests)
+ ("python-whichcraft" ,python-whichcraft)))
+ (home-page
+ "https://github.com/audreyr/cookiecutter")
+ (synopsis
+ "Command-line utility to create projects from templates")
+ (description
+ "A command-line utility that creates projects from project templates,
+e.g. creating a Python package project from a Python package project template.")
+ (license license:bsd-3)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
C
C
Calvin Pritchard wrote on 6 May 2019 07:30
[PATCH 6/6] gnu: Add python-mesa
(address . 35598@debbugs.gnu.org)(name . Calvin Pritchard)(address . calvin.pritchard@asu.edu)
20190506053017.7255-6-pritchard.calvin@gmail.com
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-mesa). New variables.
---
gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index a801376c6d..5eddf9cc2c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2283,6 +2283,36 @@ It can read a subset of yaml and is not capable of write yaml")
e.g. creating a Python package project from a Python package project template.")
(license license:bsd-3)))
+(define-public python-mesa
+ (package
+ (name "python-mesa")
+ (version "0.8.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "Mesa" version))
+ (sha256
+ (base32
+ "0qn7gsv1ni5ccm6r6k02m94m4n6sy791yqk0h90x2ym09asvpf2b"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-cookiecutter" ,python-cookiecutter)
+ ("jupyter" ,jupyter)
+ ("python-networkx" ,python-networkx)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-tornado" ,python-tornado)
+ ("python-tqdm" ,python-tqdm)))
+ (home-page "https://github.com/projectmesa/mesa")
+ (synopsis
+ "Agent-based modeling (ABM) in Python 3+")
+ (description
+ "Mesa is an agent-based modeling framework in Python. It contains core
+components to implement spatial models, schedule agents and visualize model
+runs")
+ (license license:asl2.0)))
+
(define-public python-pympler
(package
(name "python-pympler")
--
2.17.1
L
L
Ludovic Courtès wrote on 12 May 2019 23:58
Re: [bug#35598] [PATCH 0/6] Add Mesa agent based modeling platform
(name . Calvin Pritchard)(address . pritchard.calvin@gmail.com)(address . 35598@debbugs.gnu.org)
87d0kns5bi.fsf@gnu.org
Hi Calvin,

Thanks for the patches!

Calvin Pritchard <pritchard.calvin@gmail.com> skribis:

Toggle quote (7 lines)
> This patch series is to add the python agent based modeling platform
> Mesa. It is in Python 3 only. I've added Python 2 versions for poyo and
> whichcraft since they worked without modification. The `arrow` package
> depends on https://github.com/jaraco/backports.functools_lru_cache for
> Python 2. I could add that package as a conditional dependency but I'm
> not sure how.

Actually, I would invite you to not provide the Python 2.x variants of
these packages: we’re still providing packages for 2.x, but slowly
reducing their number.

Apart from that, the patches LGTM, except for a couple of synopses and
descriptions that could be improved a bit, to at least make full
sentences etc. See

Could you take a look and send updated patches?

Thank you!

Ludo’.
J
J
jlicht wrote on 28 May 2023 23:21
[PATCH v2] gnu: Add python-mesa.
(address . 35598@debbugs.gnu.org)
ba771d68c45543fbd8c65e9bba7a012f85bd2fc2.1685308811.git.jlicht@fsfe.org
From: Calvin Pritchard <calvin.pritchard@asu.edu>

* gnu/packages/python-xyz.scm (python-mesa). New variable.

Co-authored-by: Jelle Licht <jlicht@fsfe.net>

---

Changes in v2:
- Drop all dependency patches, as those packages now exist
- Use pyproject-build-system
- Reworked to modern packaging standards
- Update mesage package version to 1.2.1.

gnu/packages/python-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

Toggle diff (78 lines)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index f7e3f6f538..be89df2fa1 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -2305,6 +2305,69 @@ (define-public python-license-expression
conventions and aliases in the same expression.")
(license license:gpl2+)))
+(define-public python-mesa
+ (package
+ (name "python-mesa")
+ (version "1.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Mesa" version))
+ (sha256
+ (base32
+ "01504d2bgfwsg92942k34fi7adq5n9r1fw4sn5kx0sm70jwq1628"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:modules '((guix build pyproject-build-system)
+ (guix build utils)
+ (ice-9 match)
+ (srfi srfi-1))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-cookiecutter
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "mesa/main.py"
+ (("\"cookiecutter\"")
+ (string-append "\""
+ (search-input-file inputs "/bin/cookiecutter")
+ "\"")))))
+ (add-after 'build 'set-HOME
+ ;; Some tests write to $HOME.
+ (lambda _ (setenv "HOME" "/tmp")))
+ (replace 'compile-bytecode
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((site-dir (site-packages inputs outputs))
+ (python (assoc-ref inputs "python"))
+ (major-minor (map string->number
+ (take (string-split (python-version python)
+ #\.)
+ 2)))
+ (<3.7? (match major-minor
+ ((major minor)
+ (or (< major 3)
+ (and (= major 3)
+ (< minor 7)))))))
+ (unless <3.7?
+ ;; The cookiecutter-mesa directory contains project templates that
+ ;; should not be compiled.
+ (invoke "python" "-m" "compileall"
+ "-x" "cookiecutter-mesa"
+ "--invalidation-mode=unchecked-hash" site-dir))))))))
+ (propagated-inputs (list python-click
+ python-networkx
+ python-numpy
+ python-pandas
+ python-tornado
+ python-tqdm))
+ (inputs (list python-cookiecutter))
+ (native-inputs (list python-coverage python-pytest python-pytest-cov))
+ (home-page "https://github.com/projectmesa/mesa")
+ (synopsis "Agent-based modeling (ABM) in Python")
+ (description "Mesa is an agent-based modeling framework in Python. It contains
+core components to implement spatial models, schedule agents and visualize model
+runs.")
+ (license license:asl2.0)))
+
(define-public python-wand
(package
(name "python-wand")

base-commit: 9845e408e533f5834a13f294ca1ddc1dc7e248fd
--
2.40.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 35598@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 35598
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch