Merge pull request #22625 from ecammit/python_requirements_for_homeassistant

Added python-fnv-hash-fast, python-lru-dict, and python-orjson
This commit is contained in:
Jeffery To 2023-11-21 12:34:08 +08:00 committed by GitHub
commit f5ebf9fafe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,38 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-fnv-hash-fast
PKG_VERSION:=0.5.0
PKG_RELEASE:=1
PYPI_NAME:=fnv-hash-fast
PYPI_SOURCE_NAME:=fnv_hash_fast
PKG_HASH:=a84d658952776a186418f4158fc8e55ff3c576ac32cc9ef7f8077efdf2d0b89f
PKG_MAINTAINER:=Timothy Ace <openwrt@timothyace.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_BUILD_DEPENDS:=python-cython/host python-poetry-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-fnv-hash-fast
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=A fast version of fnv1a
URL:=https://github.com/bdraco/fnv-hash-fast
DEPENDS:=+libstdcpp +python3-light +python3-fnvhash
endef
define Package/python3-fnv-hash-fast/description
A fast version of fnv1a. This library will use a CPP implementation of fnv1a
(32) if cython is available, and will fallback to pure python from the fnvhash
package if it is not.
endef
$(eval $(call Py3Package,python3-fnv-hash-fast))
$(eval $(call BuildPackage,python3-fnv-hash-fast))
$(eval $(call BuildPackage,python3-fnv-hash-fast-src))

View File

@ -0,0 +1,33 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-fnvhash
PKG_VERSION:=0.1.0
PKG_RELEASE:=1
PYPI_NAME:=fnvhash
PKG_HASH:=3e82d505054f9f3987b2b5b649f7e7b6f48349f6af8a1b8e4d66779699c85a8e
PKG_MAINTAINER:=Timothy Ace <openwrt@timothyace.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-fnvhash
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Pure Python FNV hash implementation
URL:=https://github.com/znerol/py-fnvhash
DEPENDS:=+python3-light
endef
define Package/python3-fnvhash/description
Pure Python implementation of the FNV hash family with 100% test coverage.
endef
$(eval $(call Py3Package,python3-fnvhash))
$(eval $(call BuildPackage,python3-fnvhash))
$(eval $(call BuildPackage,python3-fnvhash-src))

View File

@ -0,0 +1,37 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-lru-dict
PKG_VERSION:=1.3.0
PKG_RELEASE:=1
PYPI_NAME:=lru-dict
PKG_HASH:=54fd1966d6bd1fcde781596cb86068214edeebff1db13a2cea11079e3fd07b6b
PKG_MAINTAINER:=Timothy Ace <openwrt@timothyace.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-lru-dict
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=An Dict like LRU container
URL:=https://github.com/amitdev/lru-dict
DEPENDS:=+python3-light
endef
define Package/python3-lru-dict/description
A fixed size dict like container which evicts Least Recently Used (LRU) items
once size limit is exceeded. There are many python implementations available
which does similar things. This is a fast and efficient C implementation. LRU
maximum capacity can be modified at run-time. If you are looking for pure
python version, look elsewhere.
endef
$(eval $(call Py3Package,python3-lru-dict))
$(eval $(call BuildPackage,python3-lru-dict))
$(eval $(call BuildPackage,python3-lru-dict-src))

View File

@ -0,0 +1,37 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-orjson
PKG_VERSION:=3.9.10
PKG_RELEASE:=1
PYPI_NAME:=orjson
PKG_HASH:=9ebbdbd6a046c304b1845e96fbcc5559cd296b4dfd3ad2509e33c4d9ce07d6a1
PKG_MAINTAINER:=Timothy Ace <openwrt@timothyace.com>
PKG_LICENSE:=Apache-2.0 MIT
PKG_LICENSE_FILES:=LICENSE-APACHE LICENSE-MIT
PKG_BUILD_DEPENDS:=python-maturin/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
define Package/python3-orjson
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Fast, correct Python JSON library
URL:=https://github.com/ijl/orjson
DEPENDS:= \
+python3-light \
$(RUST_ARCH_DEPENDS)
endef
define Package/python3-orjson/description
Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
endef
$(eval $(call Py3Package,python3-orjson))
$(eval $(call BuildPackage,python3-orjson))
$(eval $(call BuildPackage,python3-orjson-src))