Skip to content

Commit

Permalink
Merge pull request #969 from purepani/pdm-editables
Browse files Browse the repository at this point in the history
Pdm editables
  • Loading branch information
phaer authored Jun 11, 2024
2 parents 1b54378 + f9dcbd9 commit 2dea1be
Show file tree
Hide file tree
Showing 18 changed files with 499 additions and 52 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# An example package with dependencies defined via pyproject.toml
{
config,
lib,
dream2nix,
...
}: {
imports = [
dream2nix.modules.dream2nix.WIP-python-pdm
];

deps = {nixpkgs, ...}: {
python = nixpkgs.python3;
};

mkDerivation = {
src = lib.cleanSourceWith {
src = lib.cleanSource ./.;
filter = name: type:
!(builtins.any (x: x) [
(lib.hasSuffix ".nix" name)
(lib.hasPrefix "." (builtins.baseNameOf name))
(lib.hasSuffix "flake.lock" name)
]);
};
};
pdm.lockfile = ./pdm.lock;
pdm.pyproject = ./pyproject.toml;

buildPythonPackage = {
format = lib.mkForce "pyproject";
pythonImportsCheck = [
"mytool"
];
};
}
112 changes: 112 additions & 0 deletions examples/packages/languages/python-local-development-pdm/flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions examples/packages/languages/python-local-development-pdm/flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
description = "My flake with dream2nix packages";

inputs = {
dream2nix.url = "github:nix-community/dream2nix";
nixpkgs.follows = "dream2nix/nixpkgs";
};

outputs = inputs @ {
self,
dream2nix,
nixpkgs,
...
}: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
packages.${system}.default = dream2nix.lib.evalModules {
packageSets.nixpkgs = pkgs;
modules = [
./default.nix
{
paths.projectRoot = ./.;
# can be changed to ".git" or "flake.nix" to get rid of .project-root
paths.projectRootFile = "flake.nix";
paths.package = ./.;
}
];
};
devShells.${system}.default = pkgs.mkShell {
# inherit from the dream2nix generated dev shell
inputsFrom = [self.packages.${system}.default.devShell];
# add extra packages
packages = [
pkgs.hello
];
};
};
}
144 changes: 144 additions & 0 deletions examples/packages/languages/python-local-development-pdm/pdm.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[build-system]
requires = [ "setuptools" ]
build-backend = "setuptools.build_meta"

[project]
name = "mytool"
description = "my tool"
version = "1.0.0"
dependencies = [
"requests",
]
requires-python = ">=3.8"

[project.scripts]
my-tool = "my_tool:main"

[project.optional-dependencies]
extra = [
"simplejson>=3.19.2",
]
[tool.pdm.dev-dependencies]
test = [
"pytest>=8.2.1",
]
Loading

0 comments on commit 2dea1be

Please sign in to comment.