spoolman: init at 0.22.1 (#316110)
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
{ lib, fetchFromGitHub }:
|
||||
let
|
||||
version = "0.22.1";
|
||||
in
|
||||
{
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Donkie";
|
||||
repo = "Spoolman";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EVGpwcjEh4u8Vtgu2LypqMqArYLZe7oh1qYhGZpgjh0=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Keep track of your inventory of 3D-printer filament spools";
|
||||
homepage = "https://github.com/Donkie/Spoolman";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
MayNiklas
|
||||
pinpox
|
||||
];
|
||||
mainProgram = "spoolman";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{ buildNpmPackage, callPackage }:
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
in
|
||||
|
||||
buildNpmPackage {
|
||||
pname = "spoolman-frontend";
|
||||
|
||||
inherit (common) version;
|
||||
|
||||
src = "${common.src}/client";
|
||||
|
||||
npmDepsHash = "sha256-E4DvEOSHfwwM0C+vTRMDQbCNv2IDyFOFwfqszrI+uOA=";
|
||||
|
||||
VITE_APIURL = "/api/v1";
|
||||
|
||||
installPhase = "cp -r dist $out";
|
||||
|
||||
meta = common.meta // {
|
||||
description = "Spoolman frontend";
|
||||
mainProgram = "spoolman-frontend";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
python312,
|
||||
lib,
|
||||
callPackage,
|
||||
writeShellScript,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
let
|
||||
common = callPackage ./common.nix { };
|
||||
frontend = callPackage ./frontend.nix { };
|
||||
python = python312;
|
||||
in
|
||||
|
||||
python.pkgs.buildPythonPackage rec {
|
||||
|
||||
pname = "spoolman";
|
||||
inherit (common) version src;
|
||||
|
||||
pyproject = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
python.pkgs.pdm-backend
|
||||
python.pkgs.pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [ "setuptools" ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml --replace-fail psycopg2-binary psycopg2
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
uvloop
|
||||
alembic
|
||||
asyncpg
|
||||
fastapi
|
||||
hishel
|
||||
httptools
|
||||
httpx
|
||||
aiosqlite
|
||||
platformdirs
|
||||
prometheus-client
|
||||
psycopg2
|
||||
pydantic
|
||||
scheduler
|
||||
setuptools
|
||||
sqlalchemy
|
||||
sqlalchemy-cockroachdb
|
||||
uvicorn
|
||||
websockets
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "spoolman" ];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
start_script = writeShellScript "start-spoolman" ''
|
||||
${lib.getExe python.pkgs.uvicorn} "$@" spoolman.main:app;
|
||||
'';
|
||||
in
|
||||
''
|
||||
mkdir -p $out/runpath/client/dist $out/bin
|
||||
cp -r $src/* $out/runpath
|
||||
cp -r ${frontend}/* $out/runpath/client/dist
|
||||
|
||||
makeWrapper ${start_script} $out/bin/spoolman \
|
||||
--chdir $out/runpath \
|
||||
--prefix PYTHONPATH : "$out/${python.sitePackages}" \
|
||||
--prefix PYTHONPATH : "${python.pkgs.makePythonPath propagatedBuildInputs}" \
|
||||
--prefix PATH : "${python.pkgs.alembic}/bin"
|
||||
'';
|
||||
|
||||
meta = common.meta // {
|
||||
description = "Spoolman server";
|
||||
mainProgram = "spoolman";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
wheel,
|
||||
typeguard,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "scheduler";
|
||||
version = "0.8.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-8t1AUbD6cpETSoqoY88bSZmj7FuaF6c+7kJDJX2Lp4k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
typeguard
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "scheduler" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple in-process python scheduler library with asyncio, threading and timezone support. Use datetime standard library objects for planning of Jobs depending on time cycles, fixed times, weekdays, dates, weights, offsets and execution counts";
|
||||
homepage = "https://pypi.org/project/scheduler/";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ pinpox ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
setuptools,
|
||||
wheel,
|
||||
sqlalchemy,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "sqlalchemy-cockroachdb";
|
||||
version = "2.0.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-EZdW65BYVdahE0W5nP6FMDGj/lmKnEvzWo3ayfif6Mw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
sqlalchemy
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "sqlalchemy_cockroachdb" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CockroachDB dialect for SQLAlchemy";
|
||||
homepage = "https://pypi.org/project/sqlalchemy-cockroachdb";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ pinpox ];
|
||||
};
|
||||
}
|
||||
@@ -15539,6 +15539,8 @@ self: super: with self; {
|
||||
|
||||
schedule = callPackage ../development/python-modules/schedule { };
|
||||
|
||||
scheduler = callPackage ../development/python-modules/scheduler { };
|
||||
|
||||
schema = callPackage ../development/python-modules/schema { };
|
||||
|
||||
schema-salad = callPackage ../development/python-modules/schema-salad { };
|
||||
@@ -16568,6 +16570,8 @@ self: super: with self; {
|
||||
|
||||
sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
|
||||
|
||||
sqlalchemy-cockroachdb = callPackage ../development/python-modules/sqlalchemy-cockroachdb { };
|
||||
|
||||
sqlalchemy-continuum = callPackage ../development/python-modules/sqlalchemy-continuum { };
|
||||
|
||||
sqlalchemy-file = callPackage ../development/python-modules/sqlalchemy-file { };
|
||||
|
||||
Reference in New Issue
Block a user