NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.47k stars 12.97k forks source link

Package request: python packages for Apache ADBC #311407

Open coastalwhite opened 1 month ago

coastalwhite commented 1 month ago

Project description

ADBC aims to provide a minimal database client API standard, based on Arrow, for C, Go, and Java (with bindings for other languages). Applications code to this API standard (in much the same way as they would with JDBC or ODBC), but fetch result sets in Arrow format (e.g. via the C Data Interface). They then link to an implementation of the standard: either directly to a vendor-supplied driver for a particular database, or to a driver manager that abstracts across multiple drivers. Drivers implement the standard using a database-specific API, such as Flight SQL.

Especially the python packages:

Metadata


Add a :+1: reaction to issues you find important.

coastalwhite commented 1 month ago

I managed to install them in a flake with:

(python3.withPackages ( python-pkgs: let
  adbc-driver-manager = python-pkgs.buildPythonPackage rec {
    pname = "adbc_driver_manager";
    version = "0.11.0";
    format = "wheel";

    doCheck = false;
    src = python-pkgs.fetchPypi {
      inherit pname version format;
      dist = "cp311";
      python = "cp311";
      abi = "cp311";
      platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
      sha256 = "sha256-bhWC60UyupxcDhPH3sYQAm3G3IPAUM7pszIJ1o8IsF4=";
    };
  };
  adbc-driver-sqlite = python-pkgs.buildPythonPackage rec {
    pname = "adbc_driver_sqlite";
    version = "0.11.0";
    format = "wheel";

    doCheck = false;
    src = python-pkgs.fetchPypi {
      inherit pname version format;
      dist = "py3";
      python = "py3";
      abi = "none";
      platform = "manylinux_2_17_x86_64.manylinux2014_x86_64";
      sha256 = "sha256-bazbckm+VAoe3TatTzxtKnwbbzdCx4Yjnr5gfuXPKYs=";
    };
  };
in [
  adbc-driver-manager
  adbc-driver-sqlite
])