This thread contains a patchset. You're looking at the original emails,
but you may wish to use the patch review UI.
Review patch
7
3
python3Packages.euporie: init at 2.8.2
This series adds a package for euporie (a program which allows editing and
running Jupyter notebooks in the terminal) as well as a few other Python
packages it depends on.
[PATCH 1/4] python3Packages.sixelcrop: init at 0.1.9
[PATCH 2/4] python3Packages.timg: init at 1.1.6
[PATCH 3/4] python3Packages.flatlatex: init at 0.15
[PATCH 4/4] python3Packages.euporie: init at 2.8.2
[PATCH 1/4] python3Packages.sixelcrop: init at 0.1.9
---
.../python-modules/sixelcrop/default.nix | 32 +++++++++++++++++++
pkgs/top-level/python-packages.nix | 2 ++
2 files changed, 34 insertions(+)
create mode 100644 pkgs/development/python-modules/sixelcrop/default.nix
diff --git a/pkgs/development/python-modules/sixelcrop/default.nix b/pkgs/development/python-modules/sixelcrop/default.nix
new file mode 100644
index 000000000000..ddbb2c4e053e
--- /dev/null
+++ b/pkgs/development/python-modules/sixelcrop/default.nix
@@ -0,0 +1,32 @@
+ {
+ lib,
+ buildPythonPackage,
+ fetchPypi,
+ hatchling,
+ }:
+
+ buildPythonPackage rec {
+ pname = "sixelcrop";
+ version = "0.1.9";
+ pyproject = true;
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-1sBaxPvW4gH3lK3tEjAPtCdXMXLAVEof0lpIpmpbyG8=";
+ };
+
+ build-system = [
+ hatchling
+ ];
+
+ pythonImportsCheck = [
+ "sixelcrop"
+ ];
+
+ meta = {
+ description = "Crop sixel images in sixel-space!";
+ homepage = "https://github.com/joouha/sixelcrop";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ euxane ];
+ };
+ }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a6a004a1d6b3..36fdc62c42ed 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -14875,6 +14875,8 @@ self: super: with self; {
six = callPackage ../development/python-modules/six { };
+ sixelcrop = callPackage ../development/python-modules/sixelcrop { };
+
sjcl = callPackage ../development/python-modules/sjcl { };
skein = callPackage ../development/python-modules/skein { };
--
2.47.1
[PATCH 2/4] python3Packages.timg: init at 1.1.6
---
.../python-modules/timg/default.nix | 31 +++++++++++++++++++
pkgs/top-level/python-packages.nix | 2 ++
2 files changed, 33 insertions(+)
create mode 100644 pkgs/development/python-modules/timg/default.nix
diff --git a/pkgs/development/python-modules/timg/default.nix b/pkgs/development/python-modules/timg/default.nix
new file mode 100644
index 000000000000..33b012a5a3c6
--- /dev/null
+++ b/pkgs/development/python-modules/timg/default.nix
@@ -0,0 +1,31 @@
+ {
+ lib,
+ buildPythonPackage,
+ fetchPypi,
+ pillow,
+ }:
+
+ buildPythonPackage rec {
+ pname = "timg";
+ version = "1.1.6";
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-k42TmsNQIwD3ueParfXaD4jFuG/eWILXO0Op0Ci9S/0=";
+ };
+
+ dependencies = [
+ pillow
+ ];
+
+ pythonImportsCheck = [
+ "timg"
+ ];
+
+ meta = {
+ description = "Display an image in terminal";
+ homepage = "https://github.com/adzierzanowski/timg";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ euxane ];
+ };
+ }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 36fdc62c42ed..b5ecf61a9acf 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -16180,6 +16180,8 @@ self: super: with self; {
timezonefinder = callPackage ../development/python-modules/timezonefinder { };
+ timg = callPackage ../development/python-modules/timg { };
+
timing-asgi = callPackage ../development/python-modules/timing-asgi { };
timm = callPackage ../development/python-modules/timm { };
--
2.47.1
[PATCH 3/4] python3Packages.flatlatex: init at 0.15
---
.../python-modules/flatlatex/default.nix | 36 +++++++++++++++++++
pkgs/top-level/python-packages.nix | 2 ++
2 files changed, 38 insertions(+)
create mode 100644 pkgs/development/python-modules/flatlatex/default.nix
diff --git a/pkgs/development/python-modules/flatlatex/default.nix b/pkgs/development/python-modules/flatlatex/default.nix
new file mode 100644
index 000000000000..afda415380a3
--- /dev/null
+++ b/pkgs/development/python-modules/flatlatex/default.nix
@@ -0,0 +1,36 @@
+ {
+ lib,
+ buildPythonPackage,
+ fetchPypi,
+ pytestCheckHook,
+ regex,
+ }:
+
+ buildPythonPackage rec {
+ pname = "flatlatex";
+ version = "0.15";
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-UXDhvNT8y1K9vf8wCxS2hzBIO8RvaiqJ964rsCTk0Tk=";
+ };
+
+ dependencies = [
+ regex
+ ];
+
+ nativeCheckInputs = [
+ pytestCheckHook
+ ];
+
+ pythonImportsCheck = [
+ "flatlatex"
+ ];
+
+ meta = {
+ description = "A LaTeX math converter to unicode text";
+ homepage = "https://github.com/jb-leger/flatlatex";
+ license = lib.licenses.bsd2;
+ maintainers = with lib.maintainers; [ euxane ];
+ };
+ }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b5ecf61a9acf..2262e305090d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4771,6 +4771,8 @@ self: super: with self; {
flatdict = callPackage ../development/python-modules/flatdict { };
+ flatlatex = callPackage ../development/python-modules/flatlatex { };
+
flatten-dict = callPackage ../development/python-modules/flatten-dict { };
flatten-json = callPackage ../development/python-modules/flatten-json { };
--
2.47.1
[PATCH 4/4] python3Packages.euporie: init at 2.8.2
This package is added as a Python module so that its ipykernel can
access other modules defined within a common environment.
The TUI notebook app can be tested with:
nix-shell \
-I nixpkgs=./ \
-p "python3.withPackages(ps: with ps; [ euporie ])" \
--command euporie-notebook
GitHub: closes https://github.com/NixOS/nixpkgs/issues/374033
---
.../python-modules/euporie/default.nix | 81 +++++++++++++++++++
pkgs/top-level/python-packages.nix | 2 +
2 files changed, 83 insertions(+)
create mode 100644 pkgs/development/python-modules/euporie/default.nix
diff --git a/pkgs/development/python-modules/euporie/default.nix b/pkgs/development/python-modules/euporie/default.nix
new file mode 100644
index 000000000000..354f78182536
--- /dev/null
+++ b/pkgs/development/python-modules/euporie/default.nix
@@ -0,0 +1,81 @@
+ {
+ lib,
+ buildPythonPackage,
+ fetchPypi,
+ hatchling,
+ aenum,
+ prompt-toolkit,
+ pygments,
+ nbformat,
+ jupyter_client,
+ typing-extensions,
+ fastjsonschema,
+ platformdirs,
+ pyperclip,
+ imagesize,
+ markdown-it-py,
+ linkify-it-py,
+ mdit-py-plugins,
+ flatlatex,
+ timg,
+ pillow,
+ sixelcrop,
+ universal-pathlib,
+ fsspec,
+ jupytext,
+ ipykernel,
+ }:
+
+ buildPythonPackage rec {
+ pname = "euporie";
+ version = "2.8.2";
+ pyproject = true;
+
+ src = fetchPypi {
+ inherit pname version;
+ hash = "sha256-B+qXZpvMRrpqkxAn//tP37RHwZKgFquS6bKgzuSFxAA=";
+ };
+
+ build-system = [
+ hatchling
+ ];
+
+ dependencies = [
+ aenum
+ prompt-toolkit
+ pygments
+ nbformat
+ jupyter_client
+ typing-extensions
+ fastjsonschema
+ platformdirs
+ pyperclip
+ imagesize
+ markdown-it-py
+ linkify-it-py
+ mdit-py-plugins
+ flatlatex
+ timg
+ pillow
+ sixelcrop
+ universal-pathlib
+ fsspec
+ jupytext
+ ipykernel
+ ];
+
+ pythonRelaxDeps = [
+ "aenum"
+ "linkify-it-py"
+ "markdown-it-py"
+ "mdit-py-plugins"
+ "platformdirs"
+ ];
+
+ meta = {
+ description = "Jupyter notebooks in the terminal";
+ homepage = "https://euporie.readthedocs.io/";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ euxane ];
+ };
+ }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2262e305090d..2d205f0d69f1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4280,6 +4280,8 @@ self: super: with self; {
eufylife-ble-client = callPackage ../development/python-modules/eufylife-ble-client { };
+ euporie = callPackage ../development/python-modules/euporie { };
+
eval-type-backport = callPackage ../development/python-modules/eval-type-backport { };
evaluate = callPackage ../development/python-modules/evaluate { };
--
2.47.1
Hey euxane,
On Thu, Jan 16, 2025 at 11:34:00PM +0100, euxane wrote:
>This series adds a package for euporie (a program which allows editing and
>running Jupyter notebooks in the terminal) as well as a few other Python
>packages it depends on.
>
> [PATCH 1/4] python3Packages.sixelcrop: init at 0.1.9
> [PATCH 2/4] python3Packages.timg: init at 1.1.6
> [PATCH 3/4] python3Packages.flatlatex: init at 0.15
> [PATCH 4/4] python3Packages.euporie: init at 2.8.2
I'm not sure it's feasible for you to appropriately maintain these
packages without using your GitHub account.
People will open issues or PR, and probably expect you to give feedback
there.
flokli
Hi,
Quoting Florian Klink (2025-01-21 13:17 CET):
> I'm not sure it's feasible for you to appropriately maintain these
> packages without using your GitHub account.
>
> People will open issues or PR, and probably expect you to give feedback
> there.
I'm in the process of detaching myself from GitHub.
Is it possible to still contribute meaningfully to the nixpkgs repository
without being present on that platform?
Hey,
>Quoting Florian Klink (2025-01-21 13:17 CET):
>> I'm not sure it's feasible for you to appropriately maintain these
>> packages without using your GitHub account.
>>
>> People will open issues or PR, and probably expect you to give feedback
>> there.
>
>I'm in the process of detaching myself from GitHub.
>Is it possible to still contribute meaningfully to the nixpkgs repository
>without being present on that platform?
I don't think it's effectively possible, for the reasons mentioned
above. You get requests through that platform, as that's the platform
nixpkgs is hosted on.
As much as I'd like to be less reliant on GitHub, I don't think it's
possible to (solo-)maintain packages in nixpkgs without wanting to use
GitHub. It might be feasible for drive-by patches, but everything else
ends up being a frustrating broken-telephone game.
Cheers,
flokli