1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonAtLeast,
6
7 # build-system
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "future";
13 version = "1.0.0";
14 pyproject = true;
15
16 # https://github.com/PythonCharmers/python-future/issues/640
17 disabled = pythonAtLeast "3.13";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-vSloMJMHhh7a4UWKT4pPNZjAO+Q7l1IQdq6/XZTAewU=";
22 };
23
24 nativeBuildInputs = [ setuptools ];
25
26 pythonImportsCheck = [
27 "future.builtins"
28 "future.moves"
29 "future.standard_library"
30 "past.builtins"
31 "past.translation"
32 ];
33
34 doCheck = false;
35
36 meta = {
37 changelog = "https://github.com/PythonCharmers/python-future/blob/v${version}/docs/whatsnew.rst";
38 description = "Clean single-source support for Python 3 and 2";
39 longDescription = ''
40 python-future is the missing compatibility layer between Python 2 and
41 Python 3. It allows you to use a single, clean Python 3.x-compatible
42 codebase to support both Python 2 and Python 3 with minimal overhead.
43
44 It provides future and past packages with backports and forward ports
45 of features from Python 3 and 2. It also comes with futurize and
46 pasteurize, customized 2to3-based scripts that helps you to convert
47 either Py2 or Py3 code easily to support both Python 2 and 3 in a
48 single clean Py3-style codebase, module by module.
49 '';
50 homepage = "https://python-future.org";
51 downloadPage = "https://github.com/PythonCharmers/python-future/releases";
52 license = lib.licenses.mit;
53 maintainers = with lib.maintainers; [ prikhi ];
54 };
55}