Add initial project files for MusicBrainz Missing Albums Finder

- Created .gitignore to exclude unnecessary files and directories.
- Added flake.nix for Nix package management and development environment setup.
- Introduced flake.lock to lock dependencies for reproducibility.
- Implemented main.py script to identify missing albums on MusicBrainz from Deezer releases for artists monitored in Lidarr, including functionality for generating submission links.
This commit is contained in:
Danilo Reyes
2025-11-11 09:35:54 -06:00
commit 51df3f15db
4 changed files with 585 additions and 0 deletions

37
flake.nix Normal file
View File

@@ -0,0 +1,37 @@
{
description = "Lidarr to MusicBrainz Missing Albums Finder";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
requests
python-dotenv
]);
in
{
devShells.default = pkgs.mkShell {
buildInputs = [ pythonEnv ];
shellHook = ''
echo "Python environment ready!"
echo "Run: python main.py"
'';
};
packages.default = pkgs.writeShellApplication {
name = "lidarr-musicbrainz";
runtimeInputs = [ pythonEnv ];
text = ''
python ${./main.py} "$@"
'';
};
}
);
}