56 lines
1.1 KiB
Nix
56 lines
1.1 KiB
Nix
{ lib
|
|
, buildPythonPackage
|
|
, fetchFromGitHub
|
|
, pythonOlder
|
|
|
|
# Python dependencies
|
|
, openpyxl
|
|
, pandas
|
|
, pandas-stubs
|
|
, requests
|
|
, tqdm
|
|
|
|
# Check dependencies
|
|
, pytest-mock
|
|
, pytestCheckHook
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "openai";
|
|
version = "0.16.0";
|
|
|
|
disabled = pythonOlder "3.7.1";
|
|
|
|
# Use GitHub source since PyPi source does not include tests
|
|
src = fetchFromGitHub {
|
|
owner = "openai";
|
|
repo = "openai-python";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-9BxFOiGIf3Cy7OU0as6onV5ltECInM9wwCr+qCMuPbU=";
|
|
};
|
|
|
|
propagatedBuildInputs = [
|
|
openpyxl
|
|
pandas
|
|
pandas-stubs
|
|
requests
|
|
tqdm
|
|
];
|
|
|
|
pythonImportsCheck = [ "openai" ];
|
|
checkInputs = [ pytestCheckHook pytest-mock ];
|
|
pytestFlagsArray = [ "openai/tests" ];
|
|
OPENAI_API_KEY = "sk-foo";
|
|
disabledTestPaths = [
|
|
"openai/tests/test_endpoints.py" # requires a real API key
|
|
"openai/tests/test_file_cli.py"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Python client library for the OpenAI API";
|
|
homepage = "https://github.com/openai/openai-python";
|
|
license = licenses.mit;
|
|
maintainers = [ maintainers.malo ];
|
|
};
|
|
}
|