diff --git a/README.md b/README.md index ce3a470..cc0851a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Robust And Fast Functional IO Toolkit -*Raffiot* is small (almost) dependency-free python library providing some +*Raffiot* is small dependency-free python library providing some usual functional tools. It currently provides - an easy-to-use `IO` monad which is **stack-safe**, **fast**, support **asynchronous**, **concurrent**, **parallel** programming, has many other features. @@ -35,10 +35,9 @@ The [API](https://chrilves.github.io/raffiot.py/api/index.html) is online at ## Features -- **pure python**: *Raffiot* is written entirely in Python 3.7+. +- **pure python**: *Raffiot* is written entirely in Python 3.8+. - **small**: it is just a few small files. -- **(almost) dependency-free**: it only depends on `typing-extensions` (for the - `@final` annotation). +- **dependency-free**: it only depends on the python standary library. - **crystal clear code** ### IO @@ -72,4 +71,4 @@ result of a computation: - `Ok(value)`: the computation successfully computed the this `value`. - `Error(error)`: the computation failed on some expected failure `error`, probably from the business domain. -- `Panic(exception)`: the computation failed on some unexpected failure `exception`. \ No newline at end of file +- `Panic(exception)`: the computation failed on some unexpected failure `exception`. diff --git a/raffiot/_internal.py b/raffiot/_internal.py index ce2fa9d..16a926f 100644 --- a/raffiot/_internal.py +++ b/raffiot/_internal.py @@ -8,8 +8,7 @@ from enum import Enum -from typing_extensions import final -from typing import List, Any, Iterable +from typing import List, Any, Iterable, final from collections import abc __all__ = ["IOTag", "ContTag", "ResultTag", "FiberState"] diff --git a/raffiot/_runtime.py b/raffiot/_runtime.py index feadb83..ec7caf2 100644 --- a/raffiot/_runtime.py +++ b/raffiot/_runtime.py @@ -16,9 +16,7 @@ from queue import Queue from random import randint from threading import Thread -from typing import Any, List, TypeVar, Generic, Callable, Optional, Tuple - -from typing_extensions import final +from typing import Any, List, TypeVar, Generic, Callable, Optional, Tuple, final from raffiot._internal import ContTag, FiberState, IOTag, ResultTag from raffiot.io import IO diff --git a/raffiot/io.py b/raffiot/io.py index e87ad24..5f6cbaa 100644 --- a/raffiot/io.py +++ b/raffiot/io.py @@ -6,9 +6,7 @@ import time from collections import abc -from typing import TypeVar, Generic, Callable, Any, List, Iterable - -from typing_extensions import final +from typing import TypeVar, Generic, Callable, Any, List, Iterable, final from raffiot import result from raffiot._internal import IOTag diff --git a/raffiot/resource.py b/raffiot/resource.py index 5801144..0bd6d92 100644 --- a/raffiot/resource.py +++ b/raffiot/resource.py @@ -7,9 +7,7 @@ from collections import abc from dataclasses import dataclass -from typing import TypeVar, Generic, Callable, Any, Tuple, List, Iterable - -from typing_extensions import final +from typing import TypeVar, Generic, Callable, Any, Tuple, List, Iterable, final from raffiot import _runtime from raffiot import io diff --git a/raffiot/result.py b/raffiot/result.py index 5db1271..12ebb12 100644 --- a/raffiot/result.py +++ b/raffiot/result.py @@ -6,9 +6,7 @@ from collections import abc from dataclasses import dataclass -from typing import TypeVar, Generic, Callable, Any, List, Iterable, Union - -from typing_extensions import final +from typing import TypeVar, Generic, Callable, Any, List, Iterable, Union, final from raffiot.utils import ( ComputationStatus, diff --git a/raffiot/utils.py b/raffiot/utils.py index 1b6a1e6..72594af 100644 --- a/raffiot/utils.py +++ b/raffiot/utils.py @@ -4,9 +4,7 @@ from dataclasses import dataclass from enum import IntEnum from traceback import format_exc, format_stack -from typing import Any, List, Generic, TypeVar, Iterable - -from typing_extensions import final +from typing import Any, List, Generic, TypeVar, Iterable, final __all__ = [ "TracedException", diff --git a/raffiot/val.py b/raffiot/val.py index c14eb0b..71d7c36 100644 --- a/raffiot/val.py +++ b/raffiot/val.py @@ -7,9 +7,7 @@ from collections import abc from dataclasses import dataclass -from typing import Generic, TypeVar, Callable, List, Any - -from typing_extensions import final +from typing import Generic, TypeVar, Callable, List, Any, final from raffiot import io, resource from raffiot.io import IO diff --git a/raffiot/var.py b/raffiot/var.py index d2ca7db..04ae79c 100644 --- a/raffiot/var.py +++ b/raffiot/var.py @@ -8,9 +8,7 @@ from collections import abc from dataclasses import dataclass -from typing import Generic, TypeVar, Callable, List, Any, Tuple - -from typing_extensions import final +from typing import Generic, TypeVar, Callable, List, Any, Tuple, final from raffiot import io, resource from raffiot.io import IO diff --git a/setup.py b/setup.py index fe67ef3..bda2f22 100755 --- a/setup.py +++ b/setup.py @@ -31,13 +31,13 @@ "Intended Audience :: Developers", "Topic :: Software Development :: Build Tools", "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Operating System :: OS Independent", ], - install_requires=["typing-extensions"], - python_requires=">=3.7", + install_requires=[], + python_requires=">=3.8", zip_safe=False, package_data={"raffiot": ["py.typed"]}, )