GithubHelp home page GithubHelp logo

tweedge / unishox2-py3 Goto Github PK

View Code? Open in Web Editor NEW
19.0 4.0 2.0 63 KB

A package for Unicode-friendly string compression using Unishox2

License: Apache License 2.0

Python 87.13% C 12.87%
compression python3 cython c library python string-compression json-compression xml-compression

unishox2-py3's Introduction

Hi, I'm Chris ๐Ÿ‘‹

I'm a security person in a software world. My focus is on bringing holistic and pragmatic security solutions to software companies, and I'm especially partial to risk-reducing solutions which improve development processes or developer experience (bingo!). I build guardrails, not tarpits.

Currently, I'm a Security Engineer Manager for Fabric Security @ Amazon as part of the Security Foundations organization. My notable past roles include:

  • Security Engineer, Cloud Security @ Amazon
  • Security Engineer, Vulnerability Management @ Luta Security on the Zoom contract
  • Product Security Engineer @ Datto, and Software Engineer before that

I do security research across many topic in my spare time (read: whatever grabs my interest, little real theme), and either dump half- to fully-baked repos on GitHub or publish posts on my blog. If you'd like to chat or connect, you can find my social media and ways to message me on my contact page.

unishox2-py3's People

Contributors

tweedge avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

unishox2-py3's Issues

Blanket improve testing

  • Test ASCII and other non-Unicode-encoded inputs
  • Use hypothesis for random integer generation with a minimum and maximum size

Update README to reflect testing methodology

PyPI sdist package and conda-forge recipe

Hi @tweedge ,
thanks for this wonderful Python library! I'd like to use it in one of our Python bioinformatics applications (oschwengers/bakta).
As the main distribution channel of this software is Conda, I'd need unishox2-py3 to be available at conda-forge. I'd be happy to write a recipe for it based on your PyPI package.

However, I'd need an sdist package on PyPI in order create a recipe via Conda`s grayskull tool:

$ grayskull pypi unishox2-py3
#### Initializing recipe for unishox2-py3 (pypi) ####

Recovering metadata from pypi...
Traceback (most recent call last):
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/bin/grayskull", line 10, in <module>
    sys.exit(main())
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 193, in main
    generate_recipes_from_list(args.pypi_packages, args)
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 215, in generate_recipes_from_list
    recipe, config = create_python_recipe(
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/__main__.py", line 249, in create_python_recipe
    GrayskullFactory.create_recipe(
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/base/factory.py", line 31, in create_recipe
    GrayskullFactory.REGISTERED_STRATEGY[repo_type.lower()].fetch_data(
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 60, in fetch_data
    update_recipe(recipe, config, sections or ALL_SECTIONS)
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 470, in update_recipe
    metadata = get_metadata(recipe, config)
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 343, in get_metadata
    sdist_metadata, pypi_metadata = get_origin_wise_metadata(config)
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 227, in get_origin_wise_metadata
    pypi_metadata = get_pypi_metadata(config)
  File "/home/oliver/tmp/conda-forge-unishox2-py3/conda/lib/python3.10/site-packages/grayskull/strategy/pypi.py", line 270, in get_pypi_metadata
    raise AttributeError(f"There is no sdist package on pypi for {config.name}.")
AttributeError: There is no sdist package on pypi for unishox2-py3.

Also, would it be OK to mention you in the Conda package as the maintainer? Any help would be highly appreciated!
Best regards!

Hide C API

The C API itself should probably be _compress_simple() and _decompress_simple(), then have a compress() and decompress() function in Python that increase the safety and usability of this function - for example, performing bounds checking.

This would also allow me to package up logic outside the C wrapper for using the non-simple Unishox2 APIs.

Fix hint

"Compresses a string using unishox2 compression.\n\nArgs:\n string: An input string\nReturns:\n bytes: The input string compressed via unishox2 compression."},

Guess who forgot to note that the output is a tuple

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.