Merge pull request #275799 from natsukium/jupyter/update

python311Packages: jupyter related packages updates
This commit is contained in:
OTABI Tomoya 2023-12-24 11:59:59 +09:00 committed by GitHub
commit f7d613a526
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 860 additions and 109 deletions

View File

@ -1,14 +1,21 @@
{ lib { lib
, stdenv
, buildPythonPackage , buildPythonPackage
, callPackage , callPackage
, fetchPypi , fetchPypi
, hatchling , hatchling
, pythonOlder , pythonOlder
, appnope
, comm , comm
, debugpy
, ipython , ipython
, jupyter-client , jupyter-client
, jupyter-core
, matplotlib-inline
, nest-asyncio
, packaging , packaging
, psutil , psutil
, pyzmq
, tornado , tornado
, traitlets , traitlets
}: }:
@ -36,12 +43,19 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
comm comm
debugpy
ipython ipython
jupyter-client jupyter-client
jupyter-core
matplotlib-inline
nest-asyncio
packaging packaging
psutil psutil
pyzmq
tornado tornado
traitlets traitlets
] ++ lib.optionals stdenv.isDarwin [
appnope
]; ];
# check in passthru.tests.pytest to escape infinite recursion with ipyparallel # check in passthru.tests.pytest to escape infinite recursion with ipyparallel

View File

@ -1,28 +1,25 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, entrypoints
, jupyter-core , jupyter-core
, hatchling , hatchling
, nest-asyncio
, python-dateutil , python-dateutil
, pyzmq , pyzmq
, tornado , tornado
, traitlets , traitlets
, isPyPy
, py
, pythonOlder , pythonOlder
, importlib-metadata , importlib-metadata
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyter_client"; pname = "jupyter-client";
version = "8.3.1"; version = "8.6.0";
format = "pyproject"; pyproject = true;
src = fetchPypi { src = fetchPypi {
inherit pname version; pname = "jupyter_client";
hash = "sha256-YClLLVuGk1bIk/V7God+plENYNRc9LOAV/FnLYVpmsk="; inherit version;
hash = "sha256-BkIkS7g7R2SuYNB+AQ4V8OLSdexOkYqPe4D7vvPKYMc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -30,23 +27,26 @@ buildPythonPackage rec {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
entrypoints
jupyter-core jupyter-core
nest-asyncio
python-dateutil python-dateutil
pyzmq pyzmq
tornado tornado
traitlets traitlets
] ++ lib.optionals (pythonOlder "3.10") [ ] ++ lib.optionals (pythonOlder "3.10") [
importlib-metadata importlib-metadata
] ++ lib.optional isPyPy py; ];
pythonImportsCheck = [
"jupyter_client"
];
# Circular dependency with ipykernel # Circular dependency with ipykernel
doCheck = false; doCheck = false;
meta = { meta = {
description = "Jupyter protocol implementation and client libraries"; description = "Jupyter protocol implementation and client libraries";
homepage = "https://jupyter.org/"; homepage = "https://github.com/jupyter/jupyter_client";
changelog = "https://github.com/jupyter/jupyter_client/blob/v${version}/CHANGELOG.md";
license = lib.licenses.bsd3; license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fridh ]; maintainers = with lib.maintainers; [ fridh ];
}; };

View File

@ -5,29 +5,29 @@
, hatch-jupyter-builder , hatch-jupyter-builder
, hatch-nodejs-version , hatch-nodejs-version
, hatchling , hatchling
, pythonRelaxDepsHook , jsonschema
, jupyter-events , jupyter-events
, jupyter-server , jupyter-server
, jupyter-server-fileid , jupyter-server-fileid
, jupyter-ydoc , jupyter-ydoc
, jupyterlab , jupyterlab
, ypy-websocket , pycrdt-websocket
, pytest-asyncio
, pytest-jupyter , pytest-jupyter
, pytestCheckHook , pytestCheckHook
, websockets
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyter-collaboration"; pname = "jupyter-collaboration";
version = "1.2.0"; version = "2.0.0";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
pname = "jupyter_collaboration"; pname = "jupyter_collaboration";
inherit version; inherit version;
hash = "sha256-qhcCPAgHlBwt+Lt8NdDa+ZPhNNotCvNtz9WQx6OHvOc="; hash = "sha256-7tIdCXcEXwdPgO5HxnjAlPGcgVZ2AtUKethYqxiplY8=";
}; };
postPatch = '' postPatch = ''
@ -39,25 +39,21 @@ buildPythonPackage rec {
hatch-nodejs-version hatch-nodejs-version
hatchling hatchling
jupyterlab jupyterlab
pythonRelaxDepsHook
];
pythonRelaxDeps = [
"ypy-websocket"
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
jsonschema
jupyter-events jupyter-events
jupyter-server jupyter-server
jupyter-server-fileid jupyter-server-fileid
jupyter-ydoc jupyter-ydoc
ypy-websocket pycrdt-websocket
]; ];
nativeCheckInputs = [ nativeCheckInputs = [
pytest-asyncio
pytest-jupyter pytest-jupyter
pytestCheckHook pytestCheckHook
websockets
]; ];
pythonImportsCheck = [ pythonImportsCheck = [
@ -72,6 +68,8 @@ buildPythonPackage rec {
export HOME=$TEMP export HOME=$TEMP
''; '';
__darwinAllowLocalNetworking = true;
meta = with lib; { meta = with lib; {
description = "JupyterLab Extension enabling Real-Time Collaboration"; description = "JupyterLab Extension enabling Real-Time Collaboration";
homepage = "https://github.com/jupyterlab/jupyter_collaboration"; homepage = "https://github.com/jupyterlab/jupyter_collaboration";

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyter-core"; pname = "jupyter-core";
version = "5.5.0"; version = "5.5.1";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
pyproject = true; pyproject = true;
@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "jupyter"; owner = "jupyter";
repo = "jupyter_core"; repo = "jupyter_core";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-GufCQUkR4283xMsyrbv5tDfJ8SeL35WBW5Aw2z6Ardc="; hash = "sha256-X8yBh63JYIuIatLtJU0pOD8Oz/QpJShU0R2VGAgPAa4=";
}; };
patches = [ patches = [

View File

@ -10,16 +10,18 @@
, pkgs-docker , pkgs-docker
, python-json-logger , python-json-logger
, pythonOlder , pythonOlder
, requests
, ruamel-yaml , ruamel-yaml
, semver , semver
, setuptools
, toml , toml
, traitlets , traitlets
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyter-repo2docker"; pname = "jupyter-repo2docker";
version = "2022.10.0"; version = "2023.06.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
@ -27,9 +29,13 @@ buildPythonPackage rec {
owner = "jupyterhub"; owner = "jupyterhub";
repo = "repo2docker"; repo = "repo2docker";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-n1Yhl3QC1YqdsCl6pI5NjzTiSEs6NrGq9jwT0uyS/p0="; hash = "sha256-egSQ8PXH9PxVpkZfaWfU2ZjRNW67x6FzIy+LQR5BdNE=";
}; };
nativeBuildInputs = [
setuptools
];
propagatedBuildInputs = [ propagatedBuildInputs = [
chardet chardet
docker docker
@ -39,6 +45,7 @@ buildPythonPackage rec {
jinja2 jinja2
pkgs-docker pkgs-docker
python-json-logger python-json-logger
requests
ruamel-yaml ruamel-yaml
semver semver
toml toml
@ -58,7 +65,8 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Turn code repositories into Jupyter enabled Docker Images"; description = "Turn code repositories into Jupyter enabled Docker Images";
homepage = "https://repo2docker.readthedocs.io/"; homepage = "https://repo2docker.readthedocs.io/";
license = licenses.bsdOriginal; changelog = "https://github.com/jupyterhub/repo2docker/blob/${src.rev}/docs/source/changelog.md";
license = licenses.bsd3;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
}; };
} }

View File

@ -44,6 +44,8 @@ buildPythonPackage rec {
export HOME=$TEMPDIR export HOME=$TEMPDIR
''; '';
__darwinAllowLocalNetworking = true;
meta = { meta = {
changelog = "https://github.com/jupyter-server/jupyter_server_fileid/blob/${src.rev}/CHANGELOG.md"; changelog = "https://github.com/jupyter-server/jupyter_server_fileid/blob/${src.rev}/CHANGELOG.md";
description = "An extension that maintains file IDs for documents in a running Jupyter Server"; description = "An extension that maintains file IDs for documents in a running Jupyter Server";

View File

@ -16,14 +16,14 @@
let self = buildPythonPackage rec { let self = buildPythonPackage rec {
pname = "jupyter-server-terminals"; pname = "jupyter-server-terminals";
version = "0.4.4"; version = "0.5.0";
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jupyter-server"; owner = "jupyter-server";
repo = "jupyter_server_terminals"; repo = "jupyter_server_terminals";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-F1lpg4ASw3ImvhC8XA8Ya4qpcbGY6fg8PYJt8sJj4cs="; hash = "sha256-RT4rBSSDuIr3d8+hmbiF7rMn94Yr7ekocWeXww0tKlA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,9 +1,11 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchPypi , fetchPypi
, pythonOlder
, hatch-nodejs-version , hatch-nodejs-version
, hatchling , hatchling
, y-py , importlib-metadata
, pycrdt
, pytestCheckHook , pytestCheckHook
, websockets , websockets
, ypy-websocket , ypy-websocket
@ -11,14 +13,15 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyter-ydoc"; pname = "jupyter-ydoc";
version = "1.1.1"; version = "2.0.0";
pyproject = true;
format = "pyproject"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
pname = "jupyter_ydoc"; pname = "jupyter_ydoc";
inherit version; inherit version;
hash = "sha256-APizOm59VcvhK5G4emqGtnPikz13w6EmG7qLJHU2Rd0="; hash = "sha256-m7P00yfUdZfZQwNY3z1ZeViZUhyg61DHmcAjbvTcF30=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -27,7 +30,9 @@ buildPythonPackage rec {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
y-py pycrdt
] ++ lib.optionals (pythonOlder "3.10") [
importlib-metadata
]; ];
pythonImportsCheck = [ "jupyter_ydoc" ]; pythonImportsCheck = [ "jupyter_ydoc" ];

View File

@ -1,16 +1,36 @@
{ lib, buildPythonPackage, fetchPypi, pygments, jupyter-packaging }: { lib
, buildPythonPackage
, fetchPypi
, pythonOlder
, hatch-jupyter-builder
, hatch-nodejs-version
, hatchling
, pygments
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupyterlab_pygments"; pname = "jupyterlab-pygments";
version = "0.2.2"; version = "0.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; pname = "jupyterlab_pygments";
hash = "sha256-dAXX/eYIGdkFqfqM6J5M2DDjGM2tIqADD3qQHacFWF0="; inherit version;
hash = "sha256-chrKTZApJSsRz6nRheW1r01Udyu4By+bcDb0FwBU010=";
}; };
# jupyterlab is not necessary since we get the source from pypi
postPatch = ''
substituteInPlace pyproject.toml \
--replace '"jupyterlab>=4.0.0,<5",' ""
'';
nativeBuildInputs = [ nativeBuildInputs = [
jupyter-packaging hatch-jupyter-builder
hatch-nodejs-version
hatchling
]; ];
# no tests exist on upstream repo # no tests exist on upstream repo
@ -23,7 +43,7 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Jupyterlab syntax coloring theme for pygments"; description = "Jupyterlab syntax coloring theme for pygments";
homepage = "https://github.com/jupyterlab/jupyterlab_pygments"; homepage = "https://github.com/jupyterlab/jupyterlab_pygments";
license = licenses.mit; license = licenses.bsd3;
maintainers = with maintainers; [ jonringer ]; maintainers = with maintainers; [ jonringer ];
}; };
} }

View File

@ -1,86 +1,66 @@
{ lib { lib
, stdenv , stdenv
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchPypi
, gitpython , hatch-jupyter-builder
, isort , hatchling
, jupyter-client , jupyter-client
, jupyter-packaging
, jupyterlab
, markdown-it-py , markdown-it-py
, mdit-py-plugins , mdit-py-plugins
, nbformat , nbformat
, notebook , notebook
, packaging
, pytest-xdist
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
, pyyaml , pyyaml
, setuptools
, toml , toml
, wheel
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jupytext"; pname = "jupytext";
version = "1.15.2"; version = "1.16.0";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.8";
src = fetchFromGitHub { src = fetchPypi {
owner = "mwouts"; inherit pname version;
repo = pname; hash = "sha256-lMfmd3XpDheSw5q3/KTgRZv3w1ZWEj6Nwunhs+lTuvg=";
rev = "refs/tags/v${version}";
hash = "sha256-GvMoz2BsYWk0atrT3xmSnbV7AuO5RJoM/bOJlZ5YIn4=";
}; };
# Follow https://github.com/mwouts/jupytext/pull/1119 to see if the patch
# relaxing jupyter_packaging version can be cleaned up.
#
# Follow https://github.com/mwouts/jupytext/pull/1077 to see when the patch
# relaxing jupyterlab version can be cleaned up.
#
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'jupyter_packaging~=' 'jupyter_packaging>=' \
--replace 'jupyterlab>=3,<=4' 'jupyterlab>=3'
'';
nativeBuildInputs = [ nativeBuildInputs = [
jupyter-packaging hatch-jupyter-builder
jupyterlab hatchling
setuptools
wheel
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
markdown-it-py markdown-it-py
mdit-py-plugins mdit-py-plugins
nbformat nbformat
packaging
pyyaml pyyaml
toml toml
]; ];
nativeCheckInputs = [ nativeCheckInputs = [
gitpython
isort
jupyter-client jupyter-client
notebook notebook
pytest-xdist
pytestCheckHook pytestCheckHook
]; ];
preCheck = '' preCheck = ''
# Tests that use a Jupyter notebook require $HOME to be writable # Tests that use a Jupyter notebook require $HOME to be writable
export HOME=$(mktemp -d); export HOME=$(mktemp -d);
export PATH=$out/bin:$PATH;
''; '';
pytestFlagsArray = [ disabledTestPaths = [
# Pre-commit tests expect the source directory to be a Git repository "tests/external"
"--ignore-glob='tests/test_pre_commit_*.py'"
]; ];
disabledTests = [ disabledTests = lib.optionals stdenv.isDarwin [
"test_apply_black_through_jupytext" # we can't do anything about ill-formatted notebooks
] ++ lib.optionals stdenv.isDarwin [
# requires access to trash # requires access to trash
"test_load_save_rename" "test_load_save_rename"
]; ];
@ -93,8 +73,9 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts"; description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts";
homepage = "https://github.com/mwouts/jupytext"; homepage = "https://github.com/mwouts/jupytext";
changelog = "https://github.com/mwouts/jupytext/releases/tag/${src.rev}"; changelog = "https://github.com/mwouts/jupytext/releases/tag/v${version}";
license = licenses.mit; license = licenses.mit;
maintainers = teams.jupyter.members; maintainers = teams.jupyter.members;
mainProgram = "jupytext";
}; };
} }

View File

@ -32,14 +32,14 @@ let
}; };
in buildPythonPackage rec { in buildPythonPackage rec {
pname = "nbconvert"; pname = "nbconvert";
version = "7.11.0"; version = "7.13.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-q+3AHPVDF3/94L/Cppcm1aR49q8QozL8G/Kfy08M8AA="; hash = "sha256-xvYchvylsovRf0+aMIJI5Z+itUkZ4VifbMNXXF3+wr0=";
}; };
# Add $out/share/jupyter to the list of paths that are used to search for # Add $out/share/jupyter to the list of paths that are used to search for

View File

@ -0,0 +1,71 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pythonOlder
, hatchling
, aiosqlite
, anyio
, channels
, pycrdt
, pytest-asyncio
, pytestCheckHook
, uvicorn
, websockets
}:
buildPythonPackage rec {
pname = "pycrdt-websocket";
version = "0.12.5";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "jupyter-server";
repo = "pycrdt-websocket";
rev = "refs/tags/v${version}";
hash = "sha256-dTjWujRMYpg8XZ0OkEG49OLIAPj8qnZl+W7713NKVaA=";
};
nativeBuildInputs = [
hatchling
];
propagatedBuildInputs = [
aiosqlite
anyio
pycrdt
];
passthru.optional-dependencies = {
django = [
channels
];
};
pythonImportsCheck = [
"pycrdt_websocket"
];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
uvicorn
websockets
];
disabledTestPaths = [
# requires nodejs and installed js modules
"tests/test_pycrdt_yjs.py"
];
__darwinAllowLocalNetworking = true;
meta = with lib; {
description = "WebSocket Connector for pycrdt";
homepage = "https://github.com/jupyter-server/pycrdt-websocket";
changelog = "https://github.com/jupyter-server/pycrdt-websocket/blob/${src.rev}/CHANGELOG.md";
license = licenses.mit;
maintainers = teams.jupyter.members;
};
}

View File

@ -0,0 +1,519 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "atomic_refcell"
version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c"
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bumpalo"
version = "3.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "getrandom"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
dependencies = [
"cfg-if",
"js-sys",
"libc",
"wasi",
"wasm-bindgen",
]
[[package]]
name = "indoc"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
[[package]]
name = "itoa"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "js-sys"
version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "libc"
version = "0.2.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
[[package]]
name = "lock_api"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [
"autocfg",
"scopeguard",
]
[[package]]
name = "log"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memoffset"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
dependencies = [
"autocfg",
]
[[package]]
name = "once_cell"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "parking_lot"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
"parking_lot_core",
]
[[package]]
name = "parking_lot_core"
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"smallvec",
"windows-targets",
]
[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "proc-macro2"
version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
[[package]]
name = "pycrdt"
version = "0.7.2"
dependencies = [
"pyo3",
"yrs",
]
[[package]]
name = "pyo3"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
dependencies = [
"cfg-if",
"indoc",
"libc",
"memoffset",
"parking_lot",
"pyo3-build-config",
"pyo3-ffi",
"pyo3-macros",
"unindent",
]
[[package]]
name = "pyo3-build-config"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
dependencies = [
"once_cell",
"target-lexicon",
]
[[package]]
name = "pyo3-ffi"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
dependencies = [
"libc",
"pyo3-build-config",
]
[[package]]
name = "pyo3-macros"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
"quote",
"syn 1.0.109",
]
[[package]]
name = "pyo3-macros-backend"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "quote"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rand"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
"getrandom",
"libc",
"rand_chacha",
"rand_core",
"rand_hc",
]
[[package]]
name = "rand_chacha"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
dependencies = [
"getrandom",
]
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
"rand_core",
]
[[package]]
name = "redox_syscall"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [
"bitflags",
]
[[package]]
name = "ryu"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c"
[[package]]
name = "scopeguard"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "serde"
version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.42",
]
[[package]]
name = "serde_json"
version = "1.0.108"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "smallstr"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63b1aefdf380735ff8ded0b15f31aab05daf1f70216c01c02a12926badd1df9d"
dependencies = [
"smallvec",
]
[[package]]
name = "smallvec"
version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "syn"
version = "2.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "target-lexicon"
version = "0.12.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
[[package]]
name = "thiserror"
version = "1.0.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.51"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.42",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unindent"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
[[package]]
name = "wasi"
version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
[[package]]
name = "wasm-bindgen"
version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.42",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.42",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
[[package]]
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "yrs"
version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68aea14c6c33f2edd8a5ff9415360cfa5b98d90cce30c5ee3be59a8419fb15a9"
dependencies = [
"atomic_refcell",
"rand",
"serde",
"serde_json",
"smallstr",
"smallvec",
"thiserror",
]

View File

@ -0,0 +1,63 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, libiconv
, cargo
, rustPlatform
, rustc
, pydantic
, pytestCheckHook
, y-py
}:
buildPythonPackage rec {
pname = "pycrdt";
version = "0.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "jupyter-server";
repo = "pycrdt";
rev = "refs/tags/v${version}";
hash = "sha256-dNNFrCuNdkgUb/jgeAs3TPoB+m2Hym3+ze/X2ejXtW8=";
};
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
'';
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = [
cargo
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
rustc
];
buildInputs = lib.optionals stdenv.isDarwin [
libiconv
];
pythonImportsCheck = [ "pycrdt" ];
# requires pydantic>=2.5
doCheck = false;
nativeCheckInputs = [
pytestCheckHook
y-py
pydantic
];
meta = with lib; {
description = "CRDTs based on Yrs";
homepage = "https://github.com/jupyter-server/pycrdt";
changelog = "https://github.com/jupyter-server/pycrdt/releases/tag/${src.rev}";
license = licenses.mit;
maintainers = teams.jupyter.members;
};
}

View File

@ -22,14 +22,14 @@
let self = buildPythonPackage rec { let self = buildPythonPackage rec {
pname = "pytest-jupyter"; pname = "pytest-jupyter";
version = "0.7.0"; version = "0.8.0";
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jupyter-server"; owner = "jupyter-server";
repo = "pytest-jupyter"; repo = "pytest-jupyter";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-ZocpIBHnXTvQdjWU8yVhGK49I+FFct+teDhghiMnvW0="; hash = "sha256-ND51UpPsvZGH6LdEaNFXaBLoCMB4n7caPoo1/Go9fNs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -44,15 +44,18 @@ let self = buildPythonPackage rec {
jupyter-core jupyter-core
]; ];
passthru.optional-dependencies = rec { passthru.optional-dependencies = {
client = [ client = [
jupyter-client jupyter-client
nbformat
ipykernel ipykernel
]; ];
server = [ server = [
jupyter-server jupyter-server
jupyter-client
nbformat nbformat
] ++ client; ipykernel
];
}; };
doCheck = false; # infinite recursion with jupyter-server doCheck = false; # infinite recursion with jupyter-server

View File

@ -1,34 +1,54 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, pythonOlder , pythonOlder
, fetchPypi , fetchFromGitHub
, flit-core
, packaging
, sphinx , sphinx
, importlib-resources , click
, myst-parser
, pytest-regressions
, pytestCheckHook
, sphinx-external-toc
, sphinxcontrib-bibtex
, texsoup
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "sphinx-jupyterbook-latex"; pname = "sphinx-jupyterbook-latex";
version = "0.5.2"; version = "1.0.0";
format = "pyproject"; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.9";
src = fetchPypi { src = fetchFromGitHub {
inherit version; owner = "executablebooks";
pname = "sphinx_jupyterbook_latex"; repo = "sphinx-jupyterbook-latex";
hash = "sha256-2h060Cj1XdvxC5Ewu58k/GDK+2ccvTnf2VU3qvyQly4="; rev = "refs/tags/v${version}";
hash = "sha256-ZTR+s6a/++xXrLMtfFRmSmAeMWa/1de12ukxfsx85g4=";
}; };
postPatch = '' nativeBuildInputs = [
substituteInPlace setup.cfg \ flit-core
--replace "sphinx>=4,<5.1" "sphinx" ];
'';
propagatedBuildInputs = [ sphinx ] propagatedBuildInputs = [
++ lib.optionals (pythonOlder "3.9") [ importlib-resources ]; packaging
sphinx
];
pythonImportsCheck = [ "sphinx_jupyterbook_latex" ]; pythonImportsCheck = [ "sphinx_jupyterbook_latex" ];
nativeCheckInputs = [
click
myst-parser
pytest-regressions
pytestCheckHook
sphinx-external-toc
sphinxcontrib-bibtex
texsoup
];
meta = with lib; { meta = with lib; {
description = "Latex specific features for jupyter book"; description = "Latex specific features for jupyter book";
homepage = "https://github.com/executablebooks/sphinx-jupyterbook-latex"; homepage = "https://github.com/executablebooks/sphinx-jupyterbook-latex";

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "texsoup";
version = "0.3.1";
pyproject = true;
src = fetchFromGitHub {
owner = "alvinwan";
repo = "TexSoup";
rev = "refs/tags/${version}";
hash = "sha256-XKYJycYivtrszU46B3Bd4JLrvckBpQu9gKDMdr6MyZU=";
};
nativeBuildInputs = [
setuptools
];
pythonImportsCheck = [ "TexSoup" ];
nativeCheckInputs = [
pytestCheckHook
];
preCheck = ''
substituteInPlace pytest.ini \
--replace "--cov=TexSoup" ""
'';
meta = with lib; {
description = "Fault-tolerant Python3 package for searching, navigating, and modifying LaTeX documents";
homepage = "https://github.com/alvinwan/TexSoup";
license = licenses.bsd2;
maintainers = with maintainers; [ ];
};
}

View File

@ -9345,6 +9345,10 @@ self: super: with self; {
pycoolmasternet-async = callPackage ../development/python-modules/pycoolmasternet-async { }; pycoolmasternet-async = callPackage ../development/python-modules/pycoolmasternet-async { };
pycrdt = callPackage ../development/python-modules/pycrdt { };
pycrdt-websocket = callPackage ../development/python-modules/pycrdt-websocket { };
pyfibaro = callPackage ../development/python-modules/pyfibaro { }; pyfibaro = callPackage ../development/python-modules/pyfibaro { };
pyfireservicerota = callPackage ../development/python-modules/pyfireservicerota { }; pyfireservicerota = callPackage ../development/python-modules/pyfireservicerota { };
@ -14107,6 +14111,8 @@ self: super: with self; {
testfixtures = callPackage ../development/python-modules/testfixtures { }; testfixtures = callPackage ../development/python-modules/testfixtures { };
texsoup = callPackage ../development/python-modules/texsoup { };
textfsm = callPackage ../development/python-modules/textfsm { }; textfsm = callPackage ../development/python-modules/textfsm { };
textile = callPackage ../development/python-modules/textile { }; textile = callPackage ../development/python-modules/textile { };