{"id":23248288,"url":"https://github.com/hanke0/python-ctools","last_synced_at":"2025-08-20T07:31:15.309Z","repository":{"id":62565838,"uuid":"158103524","full_name":"hanke0/python-ctools","owner":"hanke0","description":"A collection of useful data structures and functions written in C for Python.","archived":false,"fork":false,"pushed_at":"2020-08-14T04:00:23.000Z","size":285,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-10T20:17:39.881Z","etag":null,"topics":["data-structures","functions","python-c-api","python-c-extension","python-library"],"latest_commit_sha":null,"homepage":"https://python-ctools.readthedocs.io","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hanke0.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-18T16:28:33.000Z","updated_at":"2023-06-12T03:03:45.000Z","dependencies_parsed_at":"2022-11-03T16:45:52.571Z","dependency_job_id":null,"html_url":"https://github.com/hanke0/python-ctools","commit_stats":null,"previous_names":["ko-han/python-ctools"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanke0%2Fpython-ctools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanke0%2Fpython-ctools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanke0%2Fpython-ctools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanke0%2Fpython-ctools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hanke0","download_url":"https://codeload.github.com/hanke0/python-ctools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230400610,"owners_count":18219832,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-structures","functions","python-c-api","python-c-extension","python-library"],"created_at":"2024-12-19T08:13:15.652Z","updated_at":"2024-12-19T08:13:16.158Z","avatar_url":"https://github.com/hanke0.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://travis-ci.org/ko-han/python-ctools.svg?branch=master\n    :alt: Ctools build status on Travis CI\n    :target: https://travis-ci.org/ko-han/python-ctools\n.. image:: https://img.shields.io/github/license/ko-han/python-ctools\n    :alt: license\n    :target: https://github.com/ko-han/python-ctools/blob/master/LICENSE\n.. image:: https://img.shields.io/pypi/v/ctools\n    :alt: version\n    :target: https://pypi.org/project/ctools/\n.. image:: https://img.shields.io/pypi/implementation/ctools\n    :alt: implementation\n    :target: https://pypi.org/project/ctools/\n.. image:: https://img.shields.io/pypi/pyversions/ctools\n    :alt: python version\n    :target: https://pypi.org/project/ctools/\n.. image:: https://img.shields.io/pypi/wheel/ctools\n    :alt: wheel\n    :target: https://pypi.org/project/ctools/\n\n\n**CTools is a collection of useful data structures and functions written in C for Python.**\n\n* Author: ko-han\n* Documents: https://python-ctools.readthedocs.io\n\n\nInstall:\n\n    Install and update using `pip`_:  ``pip install -U ctools``.\n\n    If you can't build, and the error contains message of\n    ``error: 'for' loop initial declarations are only allowed in C99 mode``,\n    please use the following command:\n\n    .. code-block:: shell\n\n        export CFLAGS=\"--std=c99\"\n        pip install -U ctools\n\n\nIt provides:\n\n    * Jump consistent hash. Find description `here \u003chttps://arxiv.org/abs/1406.2294\u003e`_ .\n    * `fnv1a`_, fnv1, djb2, and `murmur`_ string hash method.\n    * A `LFU`_ (least frequently used) cache mapping class.\n    * A TTL cache mapping class that all key expire after specific seconds.\n    * A channel class support sending and receiving objects.\n    * A SortedMap class based on `red-black tree`_ .\n\n\nHow To Test:\n\n    Simple, type ``make test`` and take a sip of coffee.\n    Also can use ``make benchmark`` to run the benchmark test.\n\n\nMore:\n\n    What's important is free.\n\n\n.. _pip: https://pip.pypa.io/en/stable/quickstart/\n.. _jump_consistent_hash: https://arxiv.org/abs/1406.2294\n.. _pytest: https://docs.pytest.org/en/latest/contents.html\n.. _LFU: https://en.wikipedia.org/wiki/Least_frequently_used\n.. _red-black tree: https://en.wikipedia.org/wiki/Red%E2%80%93black_tree\n.. _fnv1a: https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function\n.. _murmur: https://en.wikipedia.org/wiki/MurmurHash","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanke0%2Fpython-ctools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanke0%2Fpython-ctools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanke0%2Fpython-ctools/lists"}