Hello community,
here is the log from the commit of package python-pyenchant for
openSUSE:Factory checked in at 2020-05-28 09:08:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyenchant (Old)
and /work/SRC/openSUSE:Factory/.python-pyenchant.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyenchant"
Thu May 28 09:08:49 2020 rev:17 rq:808026 version:3.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyenchant/python-pyenchant.changes
2020-04-19 21:46:25.311713850 +0200
+++
/work/SRC/openSUSE:Factory/.python-pyenchant.new.3606/python-pyenchant.changes
2020-05-28 09:08:54.083962361 +0200
@@ -1,0 +2,9 @@
+Thu May 21 15:30:38 UTC 2020 - Matej Cepl <[email protected]>
+
+- Update to version 3.1.0:
+ - Add enchant.get_user_config_dir()
+ - Fix: enchant.get_enchant_version() now returns a str,
+ not some bytes
+- Skip test test_docstrings (gh#pyenchant/pyenchant#203)
+
+-------------------------------------------------------------------
Old:
----
pyenchant-3.0.1.tar.gz
New:
----
pyenchant-3.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyenchant.spec ++++++
--- /var/tmp/diff_new_pack.AOea93/_old 2020-05-28 09:08:55.731966415 +0200
+++ /var/tmp/diff_new_pack.AOea93/_new 2020-05-28 09:08:55.735966425 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-pyenchant
-Version: 3.0.1
+Version: 3.1.0
Release: 0
Summary: Python bindings for the Enchant spellchecking system
License: LGPL-2.1-or-later
@@ -65,7 +65,9 @@
%check
export LANG=en_US.UTF-8
-%pytest
+%python_exec -c 'import enchant; print(vars(enchant.Dict()))'
+# gh#pyenchant/pyenchant#203
+%pytest -k 'not test_docstrings'
%files %{python_files}
%license LICENSE.txt
++++++ pyenchant-3.0.1.tar.gz -> pyenchant-3.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/.builds/arch.yml
new/pyenchant-3.1.0/.builds/arch.yml
--- old/pyenchant-3.0.1/.builds/arch.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/pyenchant-3.1.0/.builds/arch.yml 2020-05-20 11:13:39.000000000
+0200
@@ -0,0 +1,19 @@
+image: archlinux
+
+packages:
+ - enchant
+ - aspell
+ - aspell-en
+ - python
+ - python-pip
+
+sources:
+ - https://git.sr.ht/~dmerej/pyenchant
+
+
+tasks:
+ - setup: |
+ python -m pip install tox
+ - tests: |
+ cd pyenchant
+ python -m tox -e py38
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/CONTRIBUTING.md
new/pyenchant-3.1.0/CONTRIBUTING.md
--- old/pyenchant-3.0.1/CONTRIBUTING.md 2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/CONTRIBUTING.md 2020-05-20 11:13:39.000000000 +0200
@@ -18,6 +18,9 @@
(Replace `pyXY` by your current Python installation)
+Note: you will need an `en_US` dictionary installed for the tests to run. See
website
+for more details.
+
## Updating the website
The PyEnchant website is hosted on GitHub pages and there's a GitHub workflow
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/README.rst
new/pyenchant-3.1.0/README.rst
--- old/pyenchant-3.0.1/README.rst 2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/README.rst 2020-05-20 11:13:39.000000000 +0200
@@ -1,6 +1,21 @@
pyenchant: Python bindings for the Enchant spellchecker
========================================================
+.. image:: https://img.shields.io/pypi/v/pyenchant.svg
+ :target: https://pypi.org/project/pyenchant
+
+.. image:: https://img.shields.io/pypi/pyversions/pyenchant.svg
+ :target: https://pypi.org/project/pyenchant
+
+.. image:: https://github.com/pyenchant/pyenchant/workflows/tests/badge.svg
+ :target: https://github.com/pyenchant/pyenchant/actions
+
+.. image:: https://builds.sr.ht/~dmerej/pyenchant.svg
+ :target: https://builds.sr.ht/~dmerej/pyenchant
+
+.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
+ :target: https://github.com/psf/black
+
This package provides a set of Python language bindings for the Enchant
spellchecking library. For more information, visit the project website:
@@ -23,7 +38,7 @@
How do I use it?
----------------
-For Windows and OSX users, install the pre-built binary packages using
+For Windows users, install the pre-built binary packages using
pip::
pip install pyenchant
@@ -31,7 +46,7 @@
These packages bundle a pre-built copy of the underlying enchant library.
Users on other platforms will need to install "enchant" using their system
-package manager.
+package manager (brew on macOS).
Once the software is installed, python's on-line help facilities can
get you started. Launch python and issue the following commands:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/enchant/__init__.py
new/pyenchant-3.1.0/enchant/__init__.py
--- old/pyenchant-3.0.1/enchant/__init__.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/enchant/__init__.py 2020-05-20 11:13:39.000000000
+0200
@@ -72,7 +72,7 @@
"""
_DOC_ERRORS = ["enchnt", "enchnt", "incant", "fr"]
-__version__ = "3.0.1"
+__version__ = "3.1.0"
import os
import warnings
@@ -894,7 +894,7 @@
# Expose the "get_version" function.
def get_enchant_version():
"""Get the version string for the underlying enchant library."""
- return _e.get_version()
+ return _e.get_version().decode()
# Expose the "set_prefix_dir" function.
@@ -905,3 +905,10 @@
required.
"""
return _e.set_prefix_dir(path)
+
+
+def get_user_config_dir():
+ """Return the path that will be used by some
+ Enchant providers to look for custom dictionaries.
+ """
+ return _e.get_user_config_dir().decode()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/enchant/_enchant.py
new/pyenchant-3.1.0/enchant/_enchant.py
--- old/pyenchant-3.0.1/enchant/_enchant.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/enchant/_enchant.py 2020-05-20 11:13:39.000000000
+0200
@@ -292,6 +292,18 @@
set_prefix_dir.argtypes = [c_char_p]
set_prefix_dir.restype = None
+try:
+ get_user_config_dir = e.enchant_get_user_config_dir
+except AttributeError:
+ # Make the lookup error occur at runtime
+ def get_user_config_dir():
+ return e.enchant_get_user_config_dir()
+
+
+else:
+ get_user_config_dir.argtypes = []
+ get_user_config_dir.restype = c_char_p
+
dict_check1 = e.enchant_dict_check
dict_check1.argtypes = [t_dict, c_char_p, c_size_t]
dict_check1.restype = c_int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/enchant/share/enchant/README.txt
new/pyenchant-3.1.0/enchant/share/enchant/README.txt
--- old/pyenchant-3.0.1/enchant/share/enchant/README.txt 2020-03-01
17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/enchant/share/enchant/README.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-
-This directory contains dictionary files for Enchant when installed on a
-Microsoft Windows system. Each subdirectory contains dictionaries for
-a particular spellchecking system.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pyenchant-3.0.1/enchant/share/enchant/myspell/README.txt
new/pyenchant-3.1.0/enchant/share/enchant/myspell/README.txt
--- old/pyenchant-3.0.1/enchant/share/enchant/myspell/README.txt
2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/enchant/share/enchant/myspell/README.txt
1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-
-This directory contains dictionaries for the myspell backend to enchant.
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/enchant/utils.py
new/pyenchant-3.1.0/enchant/utils.py
--- old/pyenchant-3.0.1/enchant/utils.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/enchant/utils.py 2020-05-20 11:13:39.000000000
+0200
@@ -42,9 +42,6 @@
"""
-import os
-import sys
-
from enchant.errors import Error
import locale
@@ -121,75 +118,3 @@
get_default_language._DOC_ERRORS = ["LC"]
-
-
-def get_resource_filename(resname):
- """Get the absolute path to the named resource file.
-
- This serves widely the same purpose as pkg_resources.resource_filename(),
- but tries to avoid loading pkg_resources unless we're actually in
- an egg.
- """
- path = os.path.dirname(os.path.abspath(__file__))
- path = os.path.join(path, resname)
- if os.path.exists(path):
- return path
- if hasattr(sys, "frozen"):
- exe_path = sys.executable
- exe_dir = os.path.dirname(exe_path)
- path = os.path.join(exe_dir, resname)
- if os.path.exists(path):
- return path
- else:
- import pkg_resources
-
- try:
- path = pkg_resources.resource_filename("enchant", resname)
- except KeyError:
- pass
- else:
- path = os.path.abspath(path)
- if os.path.exists(path):
- return path
- raise Error("Could not locate resource '%s'" % (resname,))
-
-
-def win32_data_files():
- """Get list of supporting data files, for use with setup.py
-
- This function returns a list of the supporting data files available
- to the running version of PyEnchant. This is in the format expected
- by the data_files argument of the distutils setup function. It's
- very useful, for example, for including the data files in an executable
- produced by py2exe.
-
- Only really tested on the win32 platform (it's the only platform for
- which we ship our own supporting data files)
- """
- # Include the main enchant DLL
- try:
- lib_enchant = get_resource_filename("libenchant.dll")
- except Error:
- lib_enchant = get_resource_filename("libenchant-1.dll")
- main_dir = os.path.dirname(lib_enchant)
- data_files = [("", [lib_enchant])]
- # And some specific supporting DLLs
- for dll in os.listdir(main_dir):
- if dll.endswith(".dll"):
- for prefix in ("iconv", "intl", "libglib", "libgmodule"):
- if dll.startswith(prefix):
- data_files[0][1].append(os.path.join(main_dir, dll))
- # And anything found in the supporting data directories
- data_dirs = ("share/enchant/myspell", "share/enchant/ispell",
"lib/enchant")
- for data_dir in data_dirs:
- files = []
- full_dir = os.path.join(main_dir, os.path.normpath(data_dir))
- for fn in os.listdir(full_dir):
- full_fn = os.path.join(full_dir, fn)
- if os.path.isfile(full_fn):
- files.append(full_fn)
- data_files.append((data_dir, files))
- return data_files
-
-
-win32_data_files._DOC_ERRORS = ["py", "py", "exe"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/setup.cfg
new/pyenchant-3.1.0/setup.cfg
--- old/pyenchant-3.0.1/setup.cfg 2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/setup.cfg 2020-05-20 11:13:39.000000000 +0200
@@ -1,6 +1,6 @@
[metadata]
name = pyenchant
-version = 3.0.1
+version = 3.1.0
description = Python bindings for the Enchant spellchecking system
long_description = file: README.rst
author = Dimitri Merejkowsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tbump.toml
new/pyenchant-3.1.0/tbump.toml
--- old/pyenchant-3.0.1/tbump.toml 2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/tbump.toml 2020-05-20 11:13:39.000000000 +0200
@@ -1,5 +1,5 @@
[version]
-current = "3.0.1"
+current = "3.1.0"
regex = '''
(?P<major>\d+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tests/conftest.py
new/pyenchant-3.1.0/tests/conftest.py
--- old/pyenchant-3.0.1/tests/conftest.py 1970-01-01 01:00:00.000000000
+0100
+++ new/pyenchant-3.1.0/tests/conftest.py 2020-05-20 11:13:39.000000000
+0200
@@ -0,0 +1,10 @@
+import pytest
+from enchant import Broker
+
+
[email protected](autouse=True, scope="session")
+def ensure_en_us_dict():
+ broker = Broker()
+ en_us_available = broker.dict_exists("en_US")
+ if not en_us_available:
+ pytest.exit("The tests need an en_US dictionary to run properly")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tests/test_broker.py
new/pyenchant-3.1.0/tests/test_broker.py
--- old/pyenchant-3.0.1/tests/test_broker.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/tests/test_broker.py 2020-05-20 11:13:39.000000000
+0200
@@ -10,11 +10,6 @@
del res
-def test_has_en_us(broker):
- """Test that the en_US language is available."""
- assert broker.dict_exists("en_US")
-
-
def test_all_langs_are_available(broker):
"""Test whether all advertised languages are in fact available."""
for lang in broker.list_languages():
@@ -97,7 +92,7 @@
"""
Scenario:
Either broker.set_param(key, value) works
- Or broker.set_param(key, value) throw
+ Or broker.set_param(key, value) throws
AttributeError
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tests/test_misc.py
new/pyenchant-3.1.0/tests/test_misc.py
--- old/pyenchant-3.0.1/tests/test_misc.py 1970-01-01 01:00:00.000000000
+0100
+++ new/pyenchant-3.1.0/tests/test_misc.py 2020-05-20 11:13:39.000000000
+0200
@@ -0,0 +1,21 @@
+import enchant
+
+
+def test_get_version():
+ version = enchant.get_enchant_version()
+ assert type(version) == str
+
+
+def test_get_user_config_dir():
+ """
+ Scenario:
+ Either broker.get_user_config_dir() works
+ (enchant >= 2.0), or it throws AttributeError
+ (enchant < 2.0)
+
+ """
+ try:
+ user_dir = enchant.get_user_config_dir()
+ print(user_dir)
+ except AttributeError:
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tests/test_multiprocessing.py
new/pyenchant-3.1.0/tests/test_multiprocessing.py
--- old/pyenchant-3.0.1/tests/test_multiprocessing.py 2020-03-01
17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/tests/test_multiprocessing.py 2020-05-20
11:13:39.000000000 +0200
@@ -15,5 +15,5 @@
print("Starting")
pool = Pool(10)
for i, result in enumerate(pool.imap_unordered(check_words, input)):
- print("Done {0}: {1}".format(i, result))
+ assert result
print("Finished")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tests/test_tokenize.py
new/pyenchant-3.1.0/tests/test_tokenize.py
--- old/pyenchant-3.0.1/tests/test_tokenize.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/tests/test_tokenize.py 2020-05-20 11:13:39.000000000
+0200
@@ -456,16 +456,8 @@
assert list(tokenize_en(text)) == expected_tokens
-# XXX TODO: the myspell provider doesn't correctly interpret
-# typographic apostrophe on OSX, disabling for now.
-# def test_typographic_apostrophe_en():
-# """"Typographic apostrophes shouldn't be word separators in English."""
-# from enchant.tokenize import en
-# tknzr = wrap_tokenizer(basic_tokenize, en.tokenize)
-# input = u"They\u2019re here"
-# output = [(u"They\u2019re", 0), (u"here", 8)]
-# assert output == [i for i in tknzr(input)]
-# # Typographic apostrophe is only support for unicode inputs.
-# if str is not unicode:
-# output = [("They", 0), ("re", 7), ("here", 10)]
-# assert output == [i for i in tknzr(input.encode('utf8'))]
+def test_typographic_apostrophe():
+ """"Typographic apostrophes should be word separators in English."""
+ text = "They\u2019re here"
+ expected_tokens = [("They", 0), ("re", 5), ("here", 8)]
+ assert list(tokenize_en(text)) == expected_tokens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tools/setup.py2exe.py
new/pyenchant-3.1.0/tools/setup.py2exe.py
--- old/pyenchant-3.0.1/tools/setup.py2exe.py 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/tools/setup.py2exe.py 1970-01-01 01:00:00.000000000
+0100
@@ -1,18 +0,0 @@
-#
-# A simple example of how to use pyenchant with py2exe.
-# This script is also used in unittests to test py2exe integration.
-#
-
-from distutils.core import setup
-import py2exe
-
-from enchant.utils import win32_data_files
-
-setup(
- name="PyEnchant py2exe demo",
- version="0.0.1",
- # Include the necessary supporting data files
- data_files=win32_data_files(),
- # Make a "test_pyenchant.exe" that runs the unittest suite
- console=[dict(script="enchant\\__init__.py", dest_base="test_pyenchant")],
-)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/tox.ini new/pyenchant-3.1.0/tox.ini
--- old/pyenchant-3.0.1/tox.ini 2020-03-01 17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/tox.ini 2020-05-20 11:13:39.000000000 +0200
@@ -12,7 +12,7 @@
commands =
python bootstrap.py
- pytest {posargs:--cov --cov-report term --cov-report html}
+ pytest {posargs:--cov --cov-report term --cov-report html --verbose
--capture=no}
[testenv:website]
basepython = python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/website/content/changelog.rst
new/pyenchant-3.1.0/website/content/changelog.rst
--- old/pyenchant-3.0.1/website/content/changelog.rst 2020-03-01
17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/website/content/changelog.rst 2020-05-20
11:13:39.000000000 +0200
@@ -1,8 +1,19 @@
Changelog
=========
-3.0.0 - in progress
--------------------
+3.0.2
+------
+
+* Fix: ``enchant.get_enchant_version()`` now returns a ``str``, not some
``bytes``
+
+3.0.1 (2020-03-01)
+------------------
+
+* Add missing LICENSE.txt in source distribution
+
+
+3.0.0 (2020-03-01)
+------------------
Highlights
++++++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/website/content/faq.rst
new/pyenchant-3.1.0/website/content/faq.rst
--- old/pyenchant-3.0.1/website/content/faq.rst 2020-03-01 17:40:58.000000000
+0100
+++ new/pyenchant-3.1.0/website/content/faq.rst 2020-05-20 11:13:39.000000000
+0200
@@ -5,27 +5,14 @@
along with some questions which haven't technically been asked but which
are probably of interest to many readers.
-- `How do I report bugs, give feedback etc? <#faq_feedback>`__
-- `How is PyEnchant licensed? <#faq_license>`__
-- `Are there similar projects available? <#faq_similar_projects>`__
-- `What are the advantages/disadvantages of PyEnchant over other
- solutions? <#faq_advantages>`__
-- `How does PyEnchant handle Unicode/non-ASCII text? <#faq_unicode>`__
-- `Which Enchant provider should I use? (Aspell, Ispell,
- MySpell...?) <#faq_shootout>`__
-
-.. _faq_feedback:
+.. contents:: Table of contents:
+ :local:
How do I report bugs, give feedback etc?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can use the issue reporting tools on the `github project
-page <https://github.com/rfk/pyenchant/issues>`__ or send the author an
-email at [email protected]. For general questions, please use the
-`PyEnchant mailing
-list <http://groups.google.com/group/pyenchant-users>`__.
-
-.. _faq_license:
+page <https://github.com/rfk/pyenchant/issues>`__ .
How is PyEnchant licensed?
~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -35,8 +22,6 @@
special exemption allowing linking with proprietary spellchecking
plugins.
-.. _faq_similar_projects:
-
Are there similar projects available?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -51,8 +36,6 @@
this `ASPN Python
Recipie <http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/117221>`__.
-.. _faq_advantages:
-
What are the advantages/disadvantages of PyEnchant over other solutions?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -77,8 +60,6 @@
spellchecking solutions. This can be an advantage or disadvantage
depending on the needs of your program.
-.. _faq_unicode:
-
How does PyEnchant handle Unicode/non-ASCII text?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -95,8 +76,6 @@
great deal of experience with the use of unicode. Any help with testing
the support for unicode input/output would be greatly appreciated.
-.. _faq_shootout:
-
Which Enchant provider should I use? (Aspell, Ispell, MySpell...?)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -109,3 +88,22 @@
Ideally, this choice should be made by the system administrator when
enchant is installed. One of the premises of the Enchant library is to
relieve the user from making such low-level choices.
+
+I don't like the provider chosen by PyEnchant for my language - what can I do?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+See the :ref:`provider-ordering` section of the tutorial.
+
+How can I use a custom location for storing Enchant dictionaries ?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you are using ``hunspell`` or ``nuspel`` providers, then Enchant will
+look in ``<user_config_dir>/<provider>`` for additional dictionaries.
+
+``user_config_dir`` is set by a call to ``enchant_get_user_config_dir()``.
+
+* If the ``ENCHANT_CONFIG_DIR`` environment variable is set, it will return
its value
+* Otherwise, it will call
+ `g_get_user_config_dir()
+
<https://developer.gnome.org/glib/stable/glib-Miscellaneous-Utility-Functions.html#g-get-user-config-dir>`_
+ which will return something like `~/.config/enchant`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/website/content/install.rst
new/pyenchant-3.1.0/website/content/install.rst
--- old/pyenchant-3.0.1/website/content/install.rst 2020-03-01
17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/website/content/install.rst 2020-05-20
11:13:39.000000000 +0200
@@ -21,6 +21,12 @@
your `libenchant` installation, feel free to `open a bug report
<https://github.com/pyenchant/pyenchant/issues>`_.
+To detect the `libenchant` binaries, PyEnchant uses
+`ctypes.util.find_library()
<https://docs.python.org/3/library/ctypes.html#finding-shared-libraries>`_,
+which requires `ldconfig`, `gcc`, `objdump` or `ld` to be installed.
+This is the case on most major distributions,
+however statically linked distributions (like Alpine Linux)
+might not bring along `binutils` by default.
On macOS
--------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyenchant-3.0.1/website/content/tutorial.rst
new/pyenchant-3.1.0/website/content/tutorial.rst
--- old/pyenchant-3.0.1/website/content/tutorial.rst 2020-03-01
17:40:58.000000000 +0100
+++ new/pyenchant-3.1.0/website/content/tutorial.rst 2020-05-20
11:13:39.000000000 +0200
@@ -331,6 +331,8 @@
<enchant.Broker object at 0x2aaaabdff590>
+.. _provider-ordering:
+
Provider Ordering
~~~~~~~~~~~~~~~~~
@@ -357,17 +359,3 @@
To implement a new tokenization routine for the language TAG, simply create a
class/function "tokenize" within the module "enchant.tokenize.TAG". This
function will automatically be detected by the module's get_tokenizer function
and used when appropriate. The easiest way to accomplish this is to copy the
module "enchant.tokenize.en" and modify it to suit your needs.
The author would be very grateful for tokenization routines for languages
other than English which can be incorporated back into the main PyEnchant
distribution.
-
-
-PyEnchant and other programs
-----------------------------
-
-Packaging PyEnchant with py2exe
-++++++++++++++++++++++++++++++++
-
-
-PyEnchant depends on a large number of auxiliary files such as plugin
libraries, dictionary files, etc. While py2exe does an excellent job of
detecting static file dependencies, it cannot detect these files which are
located at runtime.
-
-To successfully package an application that uses PyEnchant, these auxiliary
files must be explicitly included in the "data_files" argument to the setup
function. The function enchant.utils.win32_data_files returns a list of files
which can be used for this purpose.
-
-