Blob Blame History Raw
From b81b1da55ef0f2768413669725d2874fcb0c29fb Mon Sep 17 00:00:00 2001
From: Kale Kundert <kale@thekunderts.net>
Date: Sun, 2 Feb 2020 19:22:34 -0500
Subject: [PATCH] Replace 'pytoml' with 'toml'

The pytoml package is deprecated, and doesn't support the most recent
TOML standard (e.g. dotted keys).
---
 doc/development.rst                  |  2 +-
 doc/pyproject_toml.rst               |  2 +-
 flit/init.py                         |  2 +-
 flit/tomlify.py                      |  8 ++++----
 flit_core/flit_core/build_thyself.py |  2 +-
 flit_core/flit_core/config.py        |  2 +-
 flit_core/flit_core/sdist.py         |  2 +-
 flit_core/flit_core/wheel.py         |  2 +-
 pyproject.toml                       |  2 +-
 tests/test_init.py                   | 12 ++++++------
 tests/test_tomlify.py                |  4 ++--
 tox.ini                              |  2 +-
 12 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/doc/development.rst b/doc/development.rst
index 9b8dc5e..f714999 100644
--- a/doc/development.rst
+++ b/doc/development.rst
@@ -5,7 +5,7 @@ To get a development installation of Flit itself::
 
     git clone https://github.com/takluyver/flit.git
     cd flit
-    python3 -m pip install docutils requests pytoml
+    python3 -m pip install docutils requests toml
     python3 bootstrap_dev.py
 
 This links Flit into the current Python environment, so you can make changes
diff --git a/doc/pyproject_toml.rst b/doc/pyproject_toml.rst
index f9ddc7f..8d38bf9 100644
--- a/doc/pyproject_toml.rst
+++ b/doc/pyproject_toml.rst
@@ -120,7 +120,7 @@ Here's the full metadata section from flit itself:
         "flit_core>=2.2.0",
         "requests",
         "docutils",
-        "pytoml",
+        "toml",
         "zipfile36; python_version in '3.3 3.4 3.5'",
     ]
     requires-python=">=3.5"
diff --git a/flit/init.py b/flit/init.py
index f7ea93a..b0c77c6 100644
--- a/flit/init.py
+++ b/flit/init.py
@@ -5,7 +5,7 @@
 from pathlib import Path
 import re
 import sys
-import pytoml as toml
+import toml
 
 def get_data_dir():
     """Get the directory path for flit user data files.
diff --git a/flit/tomlify.py b/flit/tomlify.py
index 0c8db69..a9c9c60 100644
--- a/flit/tomlify.py
+++ b/flit/tomlify.py
@@ -5,7 +5,7 @@
 import configparser
 import os
 from pathlib import Path
-import pytoml
+import toml
 
 from .config import metadata_list_fields
 from .init import TEMPLATE
@@ -40,11 +40,11 @@ def convert(path):
 
     written_entrypoints = False
     with Path('pyproject.toml').open('w', encoding='utf-8') as f:
-        f.write(TEMPLATE.format(metadata=pytoml.dumps(metadata)))
+        f.write(TEMPLATE.format(metadata=toml.dumps(metadata)))
 
         if scripts:
             f.write('\n[tool.flit.scripts]\n')
-            pytoml.dump(scripts, f)
+            toml.dump(scripts, f)
 
         for groupname, group in entrypoints.items():
             if not dict(group):
@@ -53,7 +53,7 @@ def convert(path):
             if '.' in groupname:
                 groupname = '"{}"'.format(groupname)
             f.write('\n[tool.flit.entrypoints.{}]\n'.format(groupname))
-            pytoml.dump(OrderedDict(group), f)
+            toml.dump(OrderedDict(group), f)
             written_entrypoints = True
 
     print("Written 'pyproject.toml'")
diff --git a/flit_core/flit_core/build_thyself.py b/flit_core/flit_core/build_thyself.py
index 7daf67f..f3aaf7c 100644
--- a/flit_core/flit_core/build_thyself.py
+++ b/flit_core/flit_core/build_thyself.py
@@ -25,7 +25,7 @@
     'summary': ('Distribution-building parts of Flit. '
                     'See flit package for more information'),
     'requires_dist': [
-        'pytoml',
+        'toml',
     ],
     'requires_python': '>=3.4',
     'classifiers': [
diff --git a/flit_core/flit_core/config.py b/flit_core/flit_core/config.py
index 0af9c00..6ed20d3 100644
--- a/flit_core/flit_core/config.py
+++ b/flit_core/flit_core/config.py
@@ -3,7 +3,7 @@
 import logging
 import os
 import os.path as osp
-import pytoml as toml
+import toml
 import re
 
 log = logging.getLogger(__name__)
diff --git a/flit_core/flit_core/sdist.py b/flit_core/flit_core/sdist.py
index 1fe5bb4..963b4e5 100644
--- a/flit_core/flit_core/sdist.py
+++ b/flit_core/flit_core/sdist.py
@@ -95,7 +95,7 @@ def __init__(self, module, metadata, cfgdir, reqs_by_extra, entrypoints,
 
     @classmethod
     def from_ini_path(cls, ini_path: Path):
-        # Local import so bootstrapping doesn't try to load pytoml
+        # Local import so bootstrapping doesn't try to load toml
         from .config import read_flit_config
         ini_info = read_flit_config(ini_path)
         srcdir = ini_path.parent
diff --git a/flit_core/flit_core/wheel.py b/flit_core/flit_core/wheel.py
index 1550846..2bc55e1 100644
--- a/flit_core/flit_core/wheel.py
+++ b/flit_core/flit_core/wheel.py
@@ -83,7 +83,7 @@ def __init__(self, directory, module, metadata, entrypoints, target_fp):
 
     @classmethod
     def from_ini_path(cls, ini_path, target_fp):
-        # Local import so bootstrapping doesn't try to load pytoml
+        # Local import so bootstrapping doesn't try to load toml
         from .config import read_flit_config
         directory = ini_path.parent
         ini_info = read_flit_config(ini_path)
diff --git a/pyproject.toml b/pyproject.toml
index ac8d001..0af74b2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -11,7 +11,7 @@ requires=[
     "flit_core>=3.0.0",
     "requests",
     "docutils",
-    "pytoml",
+    "toml",
     "zipfile36; python_version in '3.3 3.4 3.5'",
 ]
 requires-python=">=3.5"
diff --git a/tests/test_init.py b/tests/test_init.py
index fb8ad4d..7330ff5 100644
--- a/tests/test_init.py
+++ b/tests/test_init.py
@@ -6,7 +6,7 @@
 from unittest.mock import patch
 import pytest
 
-import pytoml
+import toml
 
 from flit import init
 
@@ -107,7 +107,7 @@ def test_init():
         generated = Path(td) / 'pyproject.toml'
         assert_isfile(generated)
         with generated.open() as f:
-            data = pytoml.load(f)
+            data = toml.load(f)
         assert data['tool']['flit']['metadata'][
                    'author-email'] == "test@example.com"
         license = Path(td) / 'LICENSE'
@@ -131,7 +131,7 @@ def test_init_homepage_and_license_are_optional():
         ti = init.TerminalIniter(td)
         ti.initialise()
         with Path(td, 'pyproject.toml').open() as f:
-            data = pytoml.load(f)
+            data = toml.load(f)
         assert not Path(td, 'LICENSE').exists()
     metadata = data['tool']['flit']['metadata']
     assert metadata == {
@@ -154,7 +154,7 @@ def test_init_homepage_validator():
         ti = init.TerminalIniter(td)
         ti.initialise()
         with Path(td, 'pyproject.toml').open() as f:
-            data = pytoml.load(f)
+            data = toml.load(f)
     metadata = data['tool']['flit']['metadata']
     assert metadata == {
         'author': 'Test Author',
@@ -176,7 +176,7 @@ def test_author_email_field_is_optional():
         ti = init.TerminalIniter(td)
         ti.initialise()
         with Path(td, 'pyproject.toml').open() as f:
-            data = pytoml.load(f)
+            data = toml.load(f)
         assert not Path(td, 'LICENSE').exists()
     metadata = data['tool']['flit']['metadata']
     assert metadata == {
@@ -216,7 +216,7 @@ def test_init_readme_found_yes_choosen():
         ti = init.TerminalIniter(td)
         ti.initialise()
         with Path(td, 'pyproject.toml').open() as f:
-            data = pytoml.load(f)
+            data = toml.load(f)
 
     metadata = data['tool']['flit']['metadata']
     assert metadata == {
diff --git a/tests/test_tomlify.py b/tests/test_tomlify.py
index 2bd75dc..a7b7978 100644
--- a/tests/test_tomlify.py
+++ b/tests/test_tomlify.py
@@ -1,6 +1,6 @@
 import os
 from pathlib import Path
-import pytoml
+import toml
 from shutil import copy
 from testpath import assert_isfile
 
@@ -18,7 +18,7 @@ def test_tomlify(copy_sample, monkeypatch):
     assert_isfile(pyproject_toml)
 
     with pyproject_toml.open(encoding='utf-8') as f:
-        content = pytoml.load(f)
+        content = toml.load(f)
 
     assert 'build-system' in content
     assert 'tool' in content
diff --git a/tox.ini b/tox.ini
index 08ce1bf..d1025e1 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,7 +18,7 @@ deps =
     testpath
     responses
     docutils
-    pytoml
+    toml
     pytest>=2.7.3
     pytest-cov