WojciechMula / pyahocorasick

Python module (C extension and plain python) implementing Aho-Corasick algorithm
BSD 3-Clause "New" or "Revised" License
929 stars 122 forks source link

Add pyahocorasick to Conda-Forge? #75

Closed peterk87 closed 6 years ago

peterk87 commented 6 years ago

Hello and thanks for a really great and easy to use package!

I'm using pyahocorasick in a bioinformatics application and I'm very impressed with its ease of use and speed when searching for strings (kmers) in whole-genome sequencing data.

I was wondering if you would be okay with pyahocorasick being added to Conda-Forge so that more people and applications can use it.

Below is a meta.yaml recipe for Conda-Forge using their example recipe:

{% set name = "pyahocorasick" %}
{% set version = "1.1.6" %}
{% set md5sum = "152985bf49c16ba26667f1471d232276" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  fn: {{ name }}-{{ version }}.tar.gz
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  md5: {{ md5sum }}

build:
  noarch: python
  number: 0
  script: python setup.py install --single-version-externally-managed --record record.txt

requirements:
  build:
    - python
    - setuptools
    - toolchain
  run:
    - python

test:
  imports:
    - pyahocorasick

about:
  home: https://github.com/WojciechMula/pyahocorasick
  license: BSD-3-Clause
  license_family: BSD
  license_file: LICENSE
  summary: Python module (C extension and plain python) implementing Aho-Corasick algorithm
  description: |
    pyahocorasick is a fast and memory efficient library for exact or 
    approximate multi-pattern string search meaning that you can find multiple 
    key strings occurrences at once in some input text. The library provides 
    an ahocorasick Python module that you can use as a plain dict-like Trie or 
    convert a Trie to an automaton for efficient Aho-Corasick search.
    It is implemented in C and tested on Python 2.7 and 3.4+. It works on 
    Linux, Mac and Windows.
    The license is BSD-3-clause. Some utilities, such as tests and the pure 
    Python automaton are dedicated to the Public Domain.
  doc_url: http://pyahocorasick.readthedocs.io/
  dev_url: https://github.com/WojciechMula/pyahocorasick

extra:
  recipe-maintainers:
    - WojciechMula
    - peterk87

With the recipe-maintainers in the example recipe, it states:

# GitHub IDs for maintainers of the recipe.
# Always check with the people listed below if they are OK becoming maintainers of the recipe. (There will be spam!)

So if you'd like pyahocorasick to be in Conda-Forge, would you like to be listed as one of the recipe maintainers?

Thanks!

WojciechMula commented 6 years ago

Hi Peter, it's great to hear that effort of many people has a positive impact on your work. :)

Of course, it's perfectly OK to add the module to Conda-Forge. However, I should be listed as a CF package maintainer -- I don't know CF at all, and won't help in case of any platform-related problems.

peterk87 commented 6 years ago

Okay great! So I'll only add myself as a recipe maintainer. Thanks again for the great work!

WojciechMula commented 6 years ago

Thank you. :) How do CF users report problems? Is there a separate issue list, or an issue goes directly to module's github page?

peterk87 commented 6 years ago

I think if they have issues with the CF build, then they could post their issues to the CF feedstock/recipe repo (https://github.com/conda-forge/pyahocorasick-feedstock), but if they have issues with the module, then they'll post them here.

The nice thing about CF is that you can install the pre-compiled module (and any dependencies it might have) without having to worry about your version of GCC being out of date. So I guess if you have a user that's complaining about not being able to compile pyahocorasick on their machine, you could point them at Conda and Conda-Forge.

WojciechMula commented 5 years ago

@peterk87 I see that the package on conda is quite outdated? in the meantime a few bugs were fixed; can you (or me) trigger an update?

peterk87 commented 5 years ago

Hi @WojciechMula I've submitted a PR for v1.3.0 (https://github.com/conda-forge/pyahocorasick-feedstock/pull/9). It looks like there's a bot that periodically builds and submits PRs for updates as well (https://github.com/conda-forge/pyahocorasick-feedstock/pulls/regro-cf-autotick-bot).

WojciechMula commented 5 years ago

Sure, I saw there are automatic PRs, but for a reason recent releases weren't picked. Thank you! :)