GithubHelp home page GithubHelp logo

timonwong / cyksuid Goto Github PK

View Code? Open in Web Editor NEW
49.0 49.0 3.0 173 KB

Fast Python implementation of KSUID (K-Sortable Globally Unique IDs) using Cython

License: BSD 3-Clause "New" or "Revised" License

Python 57.24% C 0.60% Cython 20.68% Makefile 1.35% C++ 20.11%
coordination ksuid python sortable uuid

cyksuid's Introduction

Hello

Here is timonwong :)

Github stats

Top Langs

cyksuid's People

Contributors

dependabot[bot] avatar timonwong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cyksuid's Issues

Python 3.10 with poetry build error

Ran on Docker python:3.10-bullseye-slim

  CalledProcessError

  Command '['/root/.cache/pypoetry/virtualenvs/locker-api-O4D8ju8x-py3.10/bin/python', '-m', 'pip', 'install', '--use-pep517', '--disable-pip-version-check', '--prefix', '/root/.cache/pypoetry/virtualenvs/locker-api-O4D8ju8x-py3.10', '--no-deps', '/root/.cache/pypoetry/artifacts/3c/05/2b/e7c6bb554e025f1e359357534c7ff3a6f3cfc1cc208faf77e9ae31117f/cyksuid-1.1.0.tar.gz']' returned non-zero exit status 1.

  at /usr/local/lib/python3.10/subprocess.py:524 in run
       520│             # We don't call process.wait() as .__exit__ does that for us.
       521│             raise
       522│         retcode = process.poll()
       523│         if check and retcode:
    →  524│             raise CalledProcessError(retcode, process.args,
       525│                                      output=stdout, stderr=stderr)
       526│     return CompletedProcess(process.args, retcode, stdout, stderr)
       527│ 
       528│ 

The following error occurred when trying to handle this error:


  EnvCommandError

  Command ['/root/.cache/pypoetry/virtualenvs/locker-api-O4D8ju8x-py3.10/bin/python', '-m', 'pip', 'install', '--use-pep517', '--disable-pip-version-check', '--prefix', '/root/.cache/pypoetry/virtualenvs/locker-api-O4D8ju8x-py3.10', '--no-deps', '/root/.cache/pypoetry/artifacts/3c/05/2b/e7c6bb554e025f1e359357534c7ff3a6f3cfc1cc208faf77e9ae31117f/cyksuid-1.1.0.tar.gz'] errored with the following return code 1, and output: 
  Processing /root/.cache/pypoetry/artifacts/3c/05/2b/e7c6bb554e025f1e359357534c7ff3a6f3cfc1cc208faf77e9ae31117f/cyksuid-1.1.0.tar.gz
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
    Preparing metadata (pyproject.toml): started
    Preparing metadata (pyproject.toml): finished with status 'done'
  Building wheels for collected packages: cyksuid
    Building wheel for cyksuid (pyproject.toml): started
    Building wheel for cyksuid (pyproject.toml): finished with status 'error'
    error: subprocess-exited-with-error
    
    × Building wheel for cyksuid (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> [20 lines of output]
        /tmp/pip-build-env-gp6z6ctd/overlay/lib/python3.10/site-packages/setuptools/config/setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
          warnings.warn(msg, warning_class)
        running bdist_wheel
        running build
        running build_py
        creating build
        creating build/lib.linux-x86_64-cpython-310
        creating build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/__init__.py -> build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/__version__.py -> build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/fast_base62.pyx -> build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/ksuid.pyx -> build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/fast_base62.pxd -> build/lib.linux-x86_64-cpython-310/cyksuid
        copying cyksuid/ksuid.pxd -> build/lib.linux-x86_64-cpython-310/cyksuid
        running build_ext
        building 'cyksuid.fast_base62' extension
        creating build/temp.linux-x86_64-cpython-310
        creating build/temp.linux-x86_64-cpython-310/cyksuid
        gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/root/.cache/pypoetry/virtualenvs/locker-api-O4D8ju8x-py3.10/include -I/usr/local/include/python3.10 -c cyksuid/fast_base62.c -o build/temp.linux-x86_64-cpython-310/cyksuid/fast_base62.o
        error: command 'gcc' failed: No such file or directory
        [end of output]
    
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for cyksuid
  Failed to build cyksuid
  ERROR: Could not build wheels for cyksuid, which is required to install pyproject.toml-based projects
  

  at /usr/local/lib/python3.10/site-packages/poetry/utils/env.py:1476 in _run
      1472│                 output = subprocess.check_output(
      1473│                     command, stderr=subprocess.STDOUT, env=env, **kwargs
      1474│                 )
      1475│         except CalledProcessError as e:
    → 1476│             raise EnvCommandError(e, input=input_)
      1477│ 
      1478│         return decode(output)
      1479│ 
      1480│     def execute(self, bin: str, *args: str, **kwargs: Any) -> int:

The following error occurred when trying to handle this error:


  PoetryException

  Failed to install /root/.cache/pypoetry/artifacts/3c/05/2b/e7c6bb554e025f1e359357534c7ff3a6f3cfc1cc208faf77e9ae31117f/cyksuid-1.1.0.tar.gz

  at /usr/local/lib/python3.10/site-packages/poetry/utils/pip.py:51 in pip_install
       47│ 
       48│     try:
       49│         return environment.run_pip(*args)
       50│     except EnvCommandError as e:
    →  51│         raise PoetryException(f"Failed to install {path.as_posix()}") from e
       52│ 

The command '/bin/sh -c poetry install' returned a non-zero code: 1
ERROR: Service 'partner_api' failed to build : Build failed

Failed v2.0.0 compilation on Linux arm64

When installing cyksuid in an arm64 (aarch64) Linux docker image, the build fails:

DEBUG:docker_builder:#21 46.63   Building wheel for cyksuid (pyproject.toml): started
DEBUG:docker_builder:#21 46.80   Building wheel for cyksuid (pyproject.toml): finished with status 'error'
DEBUG:docker_builder:#21 46.81   error: subprocess-exited-with-error
DEBUG:docker_builder:#21 46.81
DEBUG:docker_builder:#21 46.81   × Building wheel for cyksuid (pyproject.toml) did not run successfully.
DEBUG:docker_builder:#21 46.81   │ exit code: 1
DEBUG:docker_builder:#21 46.81   ╰─> [97 lines of output]
DEBUG:docker_builder:#21 46.81       running bdist_wheel
DEBUG:docker_builder:#21 46.81       running build
DEBUG:docker_builder:#21 46.81       running build_py
DEBUG:docker_builder:#21 46.81       creating build
DEBUG:docker_builder:#21 46.81       creating build/lib.linux-aarch64-cpython-39
DEBUG:docker_builder:#21 46.81       creating build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/ksuid.py -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/__init__.py -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/__version__.py -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/hints.py -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/v2.py -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/fast_base62.pyx -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/_ksuid.pyx -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/fast_base62.pxd -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/_ksuid.pxd -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/_ksuid.pyi -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/fast_base62.pyi -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/py.typed -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/ksuidlite.h -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/cbase62.h -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/cbase62.cc -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/fast_base62.cpp -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       copying cyksuid/_ksuid.cpp -> build/lib.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       running build_ext
DEBUG:docker_builder:#21 46.81       building 'cyksuid.fast_base62' extension
DEBUG:docker_builder:#21 46.81       creating build/temp.linux-aarch64-cpython-39
DEBUG:docker_builder:#21 46.81       creating build/temp.linux-aarch64-cpython-39/cyksuid
DEBUG:docker_builder:#21 46.81       gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.9 -c cyksuid/cbase62.cc -o build/temp.linux-aarch64-cpython-39/cyksuid/cbase62.o -Wno-write-strings -Wno-invalid-offsetof -Wno-sign-compare -Wno-unused-variable -std=c++14
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81          27 | };
DEBUG:docker_builder:#21 46.81             | ^
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       cyksuid/cbase62.cc:27:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘char’ [-Wnarrowing]
DEBUG:docker_builder:#21 46.81       error: command '/usr/bin/gcc' failed with exit code 1
DEBUG:docker_builder:#21 46.81       [end of output]
DEBUG:docker_builder:#21 46.81
DEBUG:docker_builder:#21 46.81   note: This error originates from a subprocess, and is likely not a problem with pip.
DEBUG:docker_builder:#21 46.81   ERROR: Failed building wheel for cyksuid

As a side note, it appears that the build is not generating wheels for Linux arm64.

Build errors in python 3.9

This was working fine in python 3.8, but as we're looking to update some of our base images to support python 3.9, am running into errors building cyksuid.

Specifically I am attempting to build a wheel for cyksuid. I have been able to successfully build/install cyksuid locally by explicitly passing in the --with-cython argument to setup.py build, though I'm not sure if there's any mechanism for the wheel build procedure to also use/pass this arg.

This is using the ubuntu:focal with python3.8 from dead-snakes ppa, specifically. And attempting to build latest release at time of writing (v1.0.2).

  Building wheel for cyksuid (setup.py): started
  Building wheel for cyksuid (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.9 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-55yd7qig/cyksuid_1842be1859424b2bb45858c5c8cb48e2/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-55yd7qig/cyksuid_1842be1859424b2bb45858c5c8cb48e2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-127r1ff8
       cwd: /tmp/pip-wheel-55yd7qig/cyksuid_1842be1859424b2bb45858c5c8cb48e2/
  Complete output (144 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/__init__.py -> build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/__version__.py -> build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/ksuid.pyx -> build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/fast_base62.pyx -> build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/fast_base62.pxd -> build/lib.linux-x86_64-3.9/cyksuid
  copying cyksuid/ksuid.pxd -> build/lib.linux-x86_64-3.9/cyksuid
  running build_ext
  building 'cyksuid.fast_base62' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/cyksuid
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c cyksuid/fast_base62.c -o build/temp.linux-x86_64-3.9/cyksuid/fast_base62.o
  x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.9/cyksuid/fast_base62.o -o build/lib.linux-x86_64-3.9/cyksuid/fast_base62.cpython-39-x86_64-linux-gnu.so
  building 'cyksuid.ksuid' extension
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.9 -c cyksuid/ksuid.c -o build/temp.linux-x86_64-3.9/cyksuid/ksuid.o
  cyksuid/ksuid.c: In function ‘__Pyx_modinit_type_init_code’:
  cyksuid/ksuid.c:4871:35: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’
   4871 |   __pyx_type_7cyksuid_5ksuid_KSUID.tp_print = 0;
        |                                   ^
  cyksuid/ksuid.c: In function ‘__Pyx_ParseOptionalKeywords’:
  cyksuid/ksuid.c:5429:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5429:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
    580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
        |                                             ^~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5429:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5429:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5429:21: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
    580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
        |                                             ^~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5429:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5429 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                     ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
    580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
        |                                             ^~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
    580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
        |                                             ^~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c:5445:25: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
   5445 |                         (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
        |                         ^
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:446:26: note: declared here
    446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
        |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
  cyksuid/ksuid.c: In function ‘__Pyx_decode_c_bytes’:
  cyksuid/ksuid.c:6139:9: warning: ‘PyUnicode_FromUnicode’ is deprecated [-Wdeprecated-declarations]
   6139 |         return PyUnicode_FromUnicode(NULL, 0);
        |         ^~~~~~
  In file included from /usr/include/python3.9/unicodeobject.h:1026,
                   from /usr/include/python3.9/Python.h:97,
                   from cyksuid/ksuid.c:23:
  /usr/include/python3.9/cpython/unicodeobject.h:551:42: note: declared here
    551 | Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
        |                                          ^~~~~~~~~~~~~~~~~~~~~
  error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for cyksuid

Support higher time precision

The original blog post introducing ksuid suggested that a higher time precision could be offered by sacrificing payload bytes.

It would be great if this library could support millisecond precision as an alternative.

Looking at alternatives, it seems 48-bits are generally sufficient for storing the timestamp. The alternative svix-ksuid seems to use 5 bytes presumably due to the modified epoch but as result only offers 4ms precision.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.