Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-trustme for openSUSE:Factory 
checked in at 2021-05-12 19:31:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-trustme (Old)
 and      /work/SRC/openSUSE:Factory/.python-trustme.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-trustme"

Wed May 12 19:31:21 2021 rev:7 rq:891896 version:0.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-trustme/python-trustme.changes    
2020-03-27 00:21:18.164135395 +0100
+++ /work/SRC/openSUSE:Factory/.python-trustme.new.2988/python-trustme.changes  
2021-05-12 19:31:29.647217547 +0200
@@ -1,0 +2,7 @@
+Sun May  9 17:12:48 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 0.7.0:
+  - trustme can now be used a command line interface with ``python -m
+    trustme``. Get the help with ``python -m trustme --help``. 
+
+-------------------------------------------------------------------

Old:
----
  trustme-0.6.0.tar.gz

New:
----
  trustme-0.7.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-trustme.spec ++++++
--- /var/tmp/diff_new_pack.5lnR6g/_old  2021-05-12 19:31:30.459213940 +0200
+++ /var/tmp/diff_new_pack.5lnR6g/_new  2021-05-12 19:31:30.463213923 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-trustme
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,10 +19,10 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %bcond_without python2
 Name:           python-trustme
-Version:        0.6.0
+Version:        0.7.0
 Release:        0
 Summary:        Fake CA provider for Python tests
-License:        MIT OR Apache-2.0
+License:        Apache-2.0 OR MIT
 URL:            https://github.com/python-trio/trustme
 Source:         
https://files.pythonhosted.org/packages/source/t/trustme/trustme-%{version}.tar.gz
 BuildRequires:  %{python_module cryptography}

++++++ trustme-0.6.0.tar.gz -> trustme-0.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/PKG-INFO new/trustme-0.7.0/PKG-INFO
--- old/trustme-0.6.0/PKG-INFO  2019-12-19 15:06:58.000000000 +0100
+++ new/trustme-0.7.0/PKG-INFO  2021-02-10 07:58:32.458999200 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trustme
-Version: 0.6.0
+Version: 0.7.0
 Summary: #1 quality TLS certs while you wait, for the discerning tester
 Home-page: https://github.com/python-trio/trustme
 Author: Nathaniel J. Smith
@@ -54,13 +54,15 @@
         Cheat sheet
         ===========
         
+        Programmatic usage:
+        
         .. code-block:: python
         
            import trustme
         
            # ----- Creating certs -----
         
-           # Look, you just created your own certificate authority!
+           # Look, you just created your certificate authority!
            ca = trustme.CA()
         
            # And now you issued a cert signed by this fake CA
@@ -92,6 +94,26 @@
            with ca.cert_pem.tempfile() as ca_temp_path:
                requests.get("https://...";, verify=ca_temp_path)
         
+        Command line usage:
+        
+        .. code-block:: console
+        
+           $ # Certs may be generated from anywhere. Here's where we are:
+           $ pwd
+           /tmp
+           $ # ----- Creating certs -----
+           $ python -m trustme
+           Generated a certificate for 'localhost', '127.0.0.1', '::1'
+           Configure your server to use the following files:
+             cert=/tmp/server.pem
+             key=/tmp/server.key
+           Configure your client to use the following files:
+             cert=/tmp/client.pem
+           $ # ----- Using certs -----
+           $ gunicorn --keyfile server.key --certfile server.pem app:app
+           $ curl --cacert client.pem https://localhost:8000/
+           Hello, world!
+        
         
         FAQ
         ===
@@ -100,17 +122,17 @@
         
         **Why not just use self-signed certificates?** These are more
         realistic. You don't have to disable your certificate validation code
-        in your test suite, which is good, because you want to test what you
+        in your test suite, which is good because you want to test what you
         run in production, and you would *never* disable your certificate
-        validation code in production, right? Plus they're just as easy to
+        validation code in production, right? Plus, they're just as easy to
         work with. Actually easier, in many cases.
         
-        **What if I want to test how my code handles some really weird TLS
+        **What if I want to test how my code handles some bizarre TLS
         configuration?** Sure, I'm happy to extend the API to give more
         control over the generated certificates, at least as long as it
         doesn't turn into a second-rate re-export of everything in
-        `cryptography <https://cryptography.io>`__. (If you really need a
-        fully general X.509 library then they do a great job at that.) `Let's
+        `cryptography <https://cryptography.io>`__. (If you need a
+        fully general X.509 library, then they do a great job at that.) `Let's
         talk <https://github.com/python-trio/trustme/issues/new>`__, or send a
         PR.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/README.rst new/trustme-0.7.0/README.rst
--- old/trustme-0.6.0/README.rst        2019-12-19 15:04:58.000000000 +0100
+++ new/trustme-0.7.0/README.rst        2021-02-10 07:22:45.000000000 +0100
@@ -46,13 +46,15 @@
 Cheat sheet
 ===========
 
+Programmatic usage:
+
 .. code-block:: python
 
    import trustme
 
    # ----- Creating certs -----
 
-   # Look, you just created your own certificate authority!
+   # Look, you just created your certificate authority!
    ca = trustme.CA()
 
    # And now you issued a cert signed by this fake CA
@@ -84,6 +86,26 @@
    with ca.cert_pem.tempfile() as ca_temp_path:
        requests.get("https://...";, verify=ca_temp_path)
 
+Command line usage:
+
+.. code-block:: console
+
+   $ # Certs may be generated from anywhere. Here's where we are:
+   $ pwd
+   /tmp
+   $ # ----- Creating certs -----
+   $ python -m trustme
+   Generated a certificate for 'localhost', '127.0.0.1', '::1'
+   Configure your server to use the following files:
+     cert=/tmp/server.pem
+     key=/tmp/server.key
+   Configure your client to use the following files:
+     cert=/tmp/client.pem
+   $ # ----- Using certs -----
+   $ gunicorn --keyfile server.key --certfile server.pem app:app
+   $ curl --cacert client.pem https://localhost:8000/
+   Hello, world!
+
 
 FAQ
 ===
@@ -92,16 +114,16 @@
 
 **Why not just use self-signed certificates?** These are more
 realistic. You don't have to disable your certificate validation code
-in your test suite, which is good, because you want to test what you
+in your test suite, which is good because you want to test what you
 run in production, and you would *never* disable your certificate
-validation code in production, right? Plus they're just as easy to
+validation code in production, right? Plus, they're just as easy to
 work with. Actually easier, in many cases.
 
-**What if I want to test how my code handles some really weird TLS
+**What if I want to test how my code handles some bizarre TLS
 configuration?** Sure, I'm happy to extend the API to give more
 control over the generated certificates, at least as long as it
 doesn't turn into a second-rate re-export of everything in
-`cryptography <https://cryptography.io>`__. (If you really need a
-fully general X.509 library then they do a great job at that.) `Let's
+`cryptography <https://cryptography.io>`__. (If you need a
+fully general X.509 library, then they do a great job at that.) `Let's
 talk <https://github.com/python-trio/trustme/issues/new>`__, or send a
 PR.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/docs/source/index.rst 
new/trustme-0.7.0/docs/source/index.rst
--- old/trustme-0.6.0/docs/source/index.rst     2019-12-19 15:04:58.000000000 
+0100
+++ new/trustme-0.7.0/docs/source/index.rst     2021-02-10 07:54:11.000000000 
+0100
@@ -25,6 +25,75 @@
 .. literalinclude:: trustme-trio-example.py
 
 
+CLI reference
+=============
+
+**All options:**
+
+.. code-block:: console
+
+  $ python -m trustme --help
+  usage: trustme [-h] [-d DIR] [-i [IDENTITIES [IDENTITIES ...]]]
+                 [--common-name COMMON_NAME] [-q]
+
+  optional arguments:
+    -h, --help            Show this help message and exit.
+    -d DIR, --dir DIR     Directory where certificates and keys are written to.
+                          Defaults to cwd.
+    -i [IDENTITIES [IDENTITIES ...]], --identities [IDENTITIES [IDENTITIES 
...]]
+                          Identities for the certificate. Defaults to 
'localhost
+                          127.0.0.1 ::1'.
+    --common-name COMMON_NAME
+                          Also sets the deprecated 'commonName' field.
+    -q, --quiet           Doesn't print out helpful information for humans.
+
+**Default configuration:**
+
+.. code-block:: console
+
+  $ cd /tmp/
+  $ python -m trustme
+  Generated a certificate for 'localhost', '127.0.0.1', '::1'
+  Configure your server to use the following files:
+    cert=/tmp/server.pem
+    key=/tmp/server.key
+  Configure your client to use the following files:
+    cert=/tmp/client.pem
+
+**Designate different identities:**
+
+.. code-block:: console
+
+  $ python -m trustme -i www.example.org example.org
+  Generated a certificate for 'www.example.org', 'example.org'
+  Configure your server to use the following files:
+    cert=/tmp/server.pem
+    key=/tmp/server.key
+  Configure your client to use the following files:
+    cert=/tmp/client.pem
+
+**Generate files into a directory:**
+
+.. code-block:: console
+
+  $ mkdir /tmp/a
+  $ python -m trustme -d /tmp/a
+  Generated a certificate for 'localhost', '127.0.0.1', '::1'
+  Configure your server to use the following files:
+    cert=/tmp/a/server.pem
+    key=/tmp/a/server.key
+  Configure your client to use the following files:
+    cert=/tmp/a/client.pem
+
+**Configure certs for server/client:**
+
+.. code-block:: console
+
+  $ gunicorn --keyfile /tmp/a/server.key --certfile /tmp/a/server.pem app:app
+  $ curl --cacert /tmp/a/client.pem https://localhost:8000
+  Hello, world!
+
+
 API reference
 =============
 
@@ -50,6 +119,16 @@
 
 .. towncrier release notes start
 
+Trustme 0.7.0 (2021-02-10)
+------------------------------
+
+Features
+~~~~~~~~
+
+- trustme can now be used a command line interface with ``python -m
+  trustme``. Get the help with ``python -m trustme --help``. (`#265 
<https://github.com/python-trio/trustme/issues/265>`__)
+
+
 Trustme 0.6.0 (2019-12-19)
 --------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/pyproject.toml 
new/trustme-0.7.0/pyproject.toml
--- old/trustme-0.6.0/pyproject.toml    1970-01-01 01:00:00.000000000 +0100
+++ new/trustme-0.7.0/pyproject.toml    2019-12-19 15:04:58.000000000 +0100
@@ -0,0 +1,19 @@
+[tool.towncrier]
+# Usage:
+# - PRs should drop a file like "issuenumber.feature" in newsfragments
+#   (or "bugfix", "doc", "removal", "misc"; misc gets no text, we can
+#    customize this)
+# - At release time after bumping version number, run: towncrier
+#   (or towncrier --draft)
+# - Make sure to use a version with the PRs mentioned below merged.
+#   You probably want https://github.com/hawkowl/towncrier/pull/69 too.
+#   Right now on my laptop it's
+#     PYTHONPATH=~/src/towncrier/src ~/src/towncrier/bin/towncrier
+#   with the merge-64-66-69 branch checked out.
+package = "trustme"
+filename = "docs/source/index.rst"
+directory = "newsfragments"
+# Requires https://github.com/hawkowl/towncrier/pull/64
+underlines = ["-", "~", "^"]
+# Requires https://github.com/hawkowl/towncrier/pull/66
+issue_format = "`#{issue} 
<https://github.com/python-trio/trustme/issues/{issue}>`__"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/test-requirements.txt 
new/trustme-0.7.0/test-requirements.txt
--- old/trustme-0.6.0/test-requirements.txt     2019-12-19 15:04:58.000000000 
+0100
+++ new/trustme-0.7.0/test-requirements.txt     2021-02-10 07:22:45.000000000 
+0100
@@ -4,26 +4,66 @@
 #
 #    pip-compile test-requirements.in
 #
-atomicwrites==1.3.0       # via pytest
-attrs==19.3.0             # via pytest, service-identity
-cffi==1.13.2              # via cryptography
-coverage==5.0             # via pytest-cov
-cryptography==2.8
+atomicwrites==1.4.0
+    # via pytest
+attrs==20.3.0
+    # via
+    #   pytest
+    #   service-identity
+cffi==1.14.4
+    # via cryptography
+coverage==5.4
+    # via pytest-cov
+cryptography==2.9.2
+    # via
+    #   -r test-requirements.in
+    #   pyopenssl
+    #   service-identity
 futures==3.1.1
-idna==2.8
-importlib-metadata==1.3.0  # via pytest
+    # via -r test-requirements.in
+idna==2.10
+    # via -r test-requirements.in
+importlib-metadata==2.0.0
+    # via pytest
 more-itertools==5.0.0
-packaging==19.2           # via pytest
-pluggy==0.13.1            # via pytest
-py==1.8.0                 # via pytest
-pyasn1-modules==0.2.7     # via service-identity
-pyasn1==0.4.8             # via pyasn1-modules, service-identity
-pycparser==2.19           # via cffi
+    # via
+    #   -r test-requirements.in
+    #   pytest
+packaging==20.9
+    # via pytest
+pluggy==0.13.1
+    # via pytest
+py==1.10.0
+    # via pytest
+pyasn1-modules==0.2.8
+    # via service-identity
+pyasn1==0.4.8
+    # via
+    #   pyasn1-modules
+    #   service-identity
+pycparser==2.20
+    # via cffi
 pyopenssl==19.1.0
-pyparsing==2.4.5          # via packaging
-pytest-cov==2.8.1
+    # via -r test-requirements.in
+pyparsing==2.4.7
+    # via packaging
+pytest-cov==2.11.1
+    # via -r test-requirements.in
 pytest==4.6.3
+    # via
+    #   -r test-requirements.in
+    #   pytest-cov
 service-identity==18.1.0
-six==1.13.0               # via cryptography, more-itertools, packaging, 
pyopenssl, pytest
-wcwidth==0.1.7            # via pytest
-zipp==0.6.0               # via importlib-metadata
+    # via -r test-requirements.in
+six==1.15.0
+    # via
+    #   cryptography
+    #   more-itertools
+    #   pyopenssl
+    #   pytest
+wcwidth==0.2.5
+    # via pytest
+zipp==1.2.0
+    # via
+    #   -r test-requirements.in
+    #   importlib-metadata
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/tests/test_cli.py 
new/trustme-0.7.0/tests/test_cli.py
--- old/trustme-0.6.0/tests/test_cli.py 1970-01-01 01:00:00.000000000 +0100
+++ new/trustme-0.7.0/tests/test_cli.py 2021-02-10 07:22:45.000000000 +0100
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+
+import subprocess
+import sys
+
+import pytest
+
+from trustme._cli import main
+
+
+def test_trustme_cli(tmpdir):
+    with tmpdir.as_cwd():
+        main(argv=[])
+
+    assert tmpdir.join("server.key").check(exists=1)
+    assert tmpdir.join("server.pem").check(exists=1)
+    assert tmpdir.join("client.pem").check(exists=1)
+
+
+def test_trustme_cli_e2e(tmpdir):
+    with tmpdir.as_cwd():
+        rv = subprocess.call([sys.executable, "-m", "trustme"])
+        assert rv == 0
+
+    assert tmpdir.join("server.key").check(exists=1)
+    assert tmpdir.join("server.pem").check(exists=1)
+    assert tmpdir.join("client.pem").check(exists=1)
+
+
+def test_trustme_cli_directory(tmpdir):
+    subdir = tmpdir.mkdir("sub")
+    main(argv=["-d", str(subdir)])
+
+    assert subdir.join("server.key").check(exists=1)
+    assert subdir.join("server.pem").check(exists=1)
+    assert subdir.join("client.pem").check(exists=1)
+
+
+def test_trustme_cli_directory_does_not_exist(tmpdir):
+    notdir = tmpdir.join("notdir")
+    with pytest.raises(ValueError, match="is not a directory"):
+        main(argv=["-d", str(notdir)])
+
+
+def test_trustme_cli_identities(tmpdir):
+    with tmpdir.as_cwd():
+        main(argv=["-i", "example.org", "www.example.org"])
+
+    assert tmpdir.join("server.key").check(exists=1)
+    assert tmpdir.join("server.pem").check(exists=1)
+    assert tmpdir.join("client.pem").check(exists=1)
+
+
+def test_trustme_cli_identities_empty(tmpdir):
+    with pytest.raises(ValueError, match="at least one identity"):
+        main(argv=["-i"])
+
+
+def test_trustme_cli_common_name(tmpdir):
+    with tmpdir.as_cwd():
+        main(argv=["--common-name", "localhost"])
+
+    assert tmpdir.join("server.key").check(exists=1)
+    assert tmpdir.join("server.pem").check(exists=1)
+    assert tmpdir.join("client.pem").check(exists=1)
+
+
+def test_trustme_cli_quiet(capsys, tmpdir):
+    with tmpdir.as_cwd():
+        main(argv=["-q"])
+
+    assert tmpdir.join("server.key").check(exists=1)
+    assert tmpdir.join("server.pem").check(exists=1)
+    assert tmpdir.join("client.pem").check(exists=1)
+
+    captured = capsys.readouterr()
+    assert not captured.out
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/trustme/__main__.py 
new/trustme-0.7.0/trustme/__main__.py
--- old/trustme-0.6.0/trustme/__main__.py       1970-01-01 01:00:00.000000000 
+0100
+++ new/trustme-0.7.0/trustme/__main__.py       2021-02-10 07:22:45.000000000 
+0100
@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+
+from ._cli import main
+
+main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/trustme/_cli.py 
new/trustme-0.7.0/trustme/_cli.py
--- old/trustme-0.6.0/trustme/_cli.py   1970-01-01 01:00:00.000000000 +0100
+++ new/trustme-0.7.0/trustme/_cli.py   2021-02-10 07:22:45.000000000 +0100
@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+
+import argparse
+import os
+import trustme
+import sys
+
+# Python 2/3 annoyingness
+try:
+    unicode
+except NameError:  # pragma: no cover
+    unicode = str
+
+
+def main(argv=None):
+    if argv is None:
+        argv = sys.argv[1:]
+
+    parser = argparse.ArgumentParser(prog="trustme")
+    parser.add_argument(
+        "-d",
+        "--dir",
+        default=os.getcwd(),
+        help="Directory where certificates and keys are written to. Defaults 
to cwd.",
+    )
+    parser.add_argument(
+        "-i",
+        "--identities",
+        nargs="*",
+        default=("localhost", "127.0.0.1", "::1"),
+        help="Identities for the certificate. Defaults to 'localhost 127.0.0.1 
::1'.",
+    )
+    parser.add_argument(
+        "--common-name",
+        nargs=1,
+        default=None,
+        help="Also sets the deprecated 'commonName' field (only for the first 
identity passed).",
+    )
+    parser.add_argument(
+        "-q",
+        "--quiet",
+        action="store_true",
+        help="Doesn't print out helpful information for humans.",
+    )
+
+    args = parser.parse_args(argv)
+    cert_dir = args.dir
+    identities = [unicode(identity) for identity in args.identities]
+    common_name = unicode(args.common_name[0]) if args.common_name else None
+    quiet = args.quiet
+
+    if not os.path.isdir(cert_dir):
+        raise ValueError("--dir={} is not a directory".format(cert_dir))
+    if len(identities) < 1:
+        raise ValueError("Must include at least one identity")
+
+    # Generate the CA certificate
+    ca = trustme.CA()
+    cert = ca.issue_cert(*identities, common_name=common_name)
+
+    # Write the certificate and private key the server should use
+    server_key = os.path.join(cert_dir, "server.key")
+    server_cert = os.path.join(cert_dir, "server.pem")
+    cert.private_key_pem.write_to_path(path=server_key)
+    with open(server_cert, mode="w") as f:
+        f.truncate()
+    for blob in cert.cert_chain_pems:
+        blob.write_to_path(path=server_cert, append=True)
+
+    # Write the certificate the client should trust
+    client_cert = os.path.join(cert_dir, "client.pem")
+    ca.cert_pem.write_to_path(path=client_cert)
+
+    if not quiet:
+        idents = "', '".join(identities)
+        print("Generated a certificate for '{}'".format(idents))
+        print("Configure your server to use the following files:")
+        print("  cert={}".format(server_cert))
+        print("  key={}".format(server_key))
+        print("Configure your client to use the following files:")
+        print("  cert={}".format(client_cert))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/trustme/_version.py 
new/trustme-0.7.0/trustme/_version.py
--- old/trustme-0.6.0/trustme/_version.py       2019-12-19 15:04:58.000000000 
+0100
+++ new/trustme-0.7.0/trustme/_version.py       2021-02-10 07:54:32.000000000 
+0100
@@ -1 +1 @@
-__version__ = "0.6.0"
+__version__ = "0.7.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/trustme.egg-info/PKG-INFO 
new/trustme-0.7.0/trustme.egg-info/PKG-INFO
--- old/trustme-0.6.0/trustme.egg-info/PKG-INFO 2019-12-19 15:06:58.000000000 
+0100
+++ new/trustme-0.7.0/trustme.egg-info/PKG-INFO 2021-02-10 07:58:31.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trustme
-Version: 0.6.0
+Version: 0.7.0
 Summary: #1 quality TLS certs while you wait, for the discerning tester
 Home-page: https://github.com/python-trio/trustme
 Author: Nathaniel J. Smith
@@ -54,13 +54,15 @@
         Cheat sheet
         ===========
         
+        Programmatic usage:
+        
         .. code-block:: python
         
            import trustme
         
            # ----- Creating certs -----
         
-           # Look, you just created your own certificate authority!
+           # Look, you just created your certificate authority!
            ca = trustme.CA()
         
            # And now you issued a cert signed by this fake CA
@@ -92,6 +94,26 @@
            with ca.cert_pem.tempfile() as ca_temp_path:
                requests.get("https://...";, verify=ca_temp_path)
         
+        Command line usage:
+        
+        .. code-block:: console
+        
+           $ # Certs may be generated from anywhere. Here's where we are:
+           $ pwd
+           /tmp
+           $ # ----- Creating certs -----
+           $ python -m trustme
+           Generated a certificate for 'localhost', '127.0.0.1', '::1'
+           Configure your server to use the following files:
+             cert=/tmp/server.pem
+             key=/tmp/server.key
+           Configure your client to use the following files:
+             cert=/tmp/client.pem
+           $ # ----- Using certs -----
+           $ gunicorn --keyfile server.key --certfile server.pem app:app
+           $ curl --cacert client.pem https://localhost:8000/
+           Hello, world!
+        
         
         FAQ
         ===
@@ -100,17 +122,17 @@
         
         **Why not just use self-signed certificates?** These are more
         realistic. You don't have to disable your certificate validation code
-        in your test suite, which is good, because you want to test what you
+        in your test suite, which is good because you want to test what you
         run in production, and you would *never* disable your certificate
-        validation code in production, right? Plus they're just as easy to
+        validation code in production, right? Plus, they're just as easy to
         work with. Actually easier, in many cases.
         
-        **What if I want to test how my code handles some really weird TLS
+        **What if I want to test how my code handles some bizarre TLS
         configuration?** Sure, I'm happy to extend the API to give more
         control over the generated certificates, at least as long as it
         doesn't turn into a second-rate re-export of everything in
-        `cryptography <https://cryptography.io>`__. (If you really need a
-        fully general X.509 library then they do a great job at that.) `Let's
+        `cryptography <https://cryptography.io>`__. (If you need a
+        fully general X.509 library, then they do a great job at that.) `Let's
         talk <https://github.com/python-trio/trustme/issues/new>`__, or send a
         PR.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/trustme-0.6.0/trustme.egg-info/SOURCES.txt 
new/trustme-0.7.0/trustme.egg-info/SOURCES.txt
--- old/trustme-0.6.0/trustme.egg-info/SOURCES.txt      2019-12-19 
15:06:58.000000000 +0100
+++ new/trustme-0.7.0/trustme.egg-info/SOURCES.txt      2021-02-10 
07:58:31.000000000 +0100
@@ -4,6 +4,7 @@
 LICENSE.MIT
 MANIFEST.in
 README.rst
+pyproject.toml
 setup.cfg
 setup.py
 test-requirements.txt
@@ -14,8 +15,11 @@
 docs/source/trustme-trio-example.py
 docs/source/_static/.gitkeep
 docs/source/_templates/need-help.html
+tests/test_cli.py
 tests/test_trustme.py
 trustme/__init__.py
+trustme/__main__.py
+trustme/_cli.py
 trustme/_version.py
 trustme.egg-info/PKG-INFO
 trustme.egg-info/SOURCES.txt

Reply via email to