pyo3/examples/word-count
konstin d02f7c3aa5 Big proc macro refactoring
* Removed a lot of clutter, unified some code
 * Started using syn::parse::Parse for pyfunction attributes 
 * No more newlines between imports
 * Renamed `#[prop(get, set)]` to `#[pyo3(get, set)]`
 * `#[pyfunction]` now supports the same arguments as `#[pyfn()]`
 * Some macros now emit proper spanned errors instead of panics.
2019-02-18 20:07:56 +01:00
..
src Big proc macro refactoring 2019-02-18 20:07:56 +01:00
tests remove meaningless __future__.absolute_import 2018-10-09 23:26:28 +09:00
word_count remove meaningless __future__.absolute_import 2018-10-09 23:26:28 +09:00
Cargo.toml Migrate to rust 2018 2019-02-01 14:23:29 +01:00
README.md Fix #314 2018-12-28 20:29:12 +01:00
pyproject.toml Many small improvements 2018-08-04 19:56:59 +02:00
requirements-dev.txt Add tox config for word-count 2018-10-09 18:21:52 +02:00
setup.py use pytest directlly instead of python -m pytest 2018-10-09 23:24:36 +09:00
tox.ini Pass posargs to pytest command, skip redundant install 2019-01-09 22:00:29 +01:00

README.md

word-count

Demonstrates searching for a file in plain python, with rust singlethreaded and with rust multithreaded.

Build

python setup.py install

Usage

from word_count import search_py, WordCounter

search_py("path/to/file", "word")
WordCounter("path/to/file").search("word")
WordCounter("path/to/file").search_sequential("word")

Benchmark

Install the depedencies:

pip install -r requirements-dev.txt

There is a benchmark in tests/test_word_count.py:

pytest -v tests

Testing

To test python 2.7, 3.5, 3.6 and 3.7, install tox globally and run

tox