Repository: sktime/sktime

Issue:
[MNT] PyPi publish action for 0.14 failed
Summary by @fkiraly:
The attempted 0.14.0 release has failed at pypi upload of successfully built wheels.

Help on diagnosing and solving this is appreciated.

Original post:
---
Just to let you know: 0.14 has not been published on PyPI yet:

https://github.com/sktime/sktime/actions/runs/3402037795


Discussion:
You are right 😱 

The error happens right after it attempts to upload to `pypi`, this is it:

```
 ERROR    HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/        
         '=?utf-8?b?RnJhbnogS2lyw6FseSA8...YWxsIDxhamJAdWVhLmFjLnVrPg==?=' is an
         invalid value for Author-email. Error: Use a valid email address See   
         https://packaging.python.org/specifications/core-metadata for more     
         information.   
```
any ideas what this is, @jorenham? Haven't seen it before, and Professor Google doesn't seem to help...
@fkiraly I'm guessing something with the email address in the `setup.py` or `pyproject.toml`,  but I can't seem to find anything at first glance
@fkiraly It might be easiest to merge the `author` and `author_email` in the `pyproject.toml` and `setup.py`, formatted like a `RFC-822 From: header`, as specified in: https://packaging.python.org/en/latest/specifications/core-metadata/#author-email

let's keep this open until we are sure it works...
> @fkiraly I'm guessing something with the email address in the setup.py or pyproject.toml, but I can't seem to find anything at first glance

I had the same guess, though I did sth slightly different. If that does not work, I will try your suggestion next, @jorenham.

Other guess: `sktime` still seems to run on the pypi account on one of the founders, @mloning, who isn't very active anymore.
Could it be that he forgot about this and changed his password, so it no longer agrees with the secret?

Although the wouldn't fit the message which spews something about UTF8.
my attempt at fix: https://github.com/sktime/sktime/pull/3718

current release run: https://github.com/sktime/sktime/actions/runs/3406687638
actually, @jorenham, if you have 10min, it would be appreciated if you could make a draft PR that implements your suggested change? I don't know what exactly I would change.

I was on the page you linked just 10min ago, and it isn't 100% clear to me how to change it and where.
Other question: what explains that it was fine for 0.13.4 but isn't fine now?
@fkiraly In the meantime python 3.11 was released, so perhaps they also changed the strictness of the packaging metadata?
@fkiraly your build succeeded and 0.14 has been published on pypi now. So I suppose this issue is now resolved, although I'm not sure why this did the trick 🤷🏻 

Resolving patch:
diff --git a/setup.py b/setup.py
deleted file mode 100644
--- a/setup.py
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-"""Install script for sktime."""
-
-__author__ = ["mloning", "lmmentel"]
-
-import codecs
-
-import toml
-from setuptools import find_packages, setup
-
-pyproject = toml.load("pyproject.toml")
-
-
-def long_description():
-    """Read and return README as long description."""
-    with codecs.open("README.md", encoding="utf-8-sig") as f:
-        return f.read()
-
-
-# ground truth package metadata is loaded from pyproject.toml
-# for context see:
-#   - [PEP 621 -- Storing project metadata in pyproject.toml]
-#     (https://www.python.org/dev/peps/pep-0621)
-pyproject = toml.load("pyproject.toml")
-
-
-def setup_package():
-    """Set up package."""
-    projectname = pyproject["project"]["name"]
-    setup(
-        author_email="info@sktime.org",
-        author=f"{projectname} developers",
-        classifiers=pyproject["project"]["classifiers"],
-        description=pyproject["project"]["description"],
-        download_url=pyproject["project"]["urls"]["download"],
-        extras_require=pyproject["project"]["optional-dependencies"],
-        include_package_data=True,
-        install_requires=pyproject["project"]["dependencies"],
-        keywords=pyproject["project"]["keywords"],
-        license=pyproject["project"]["license"],
-        long_description=long_description(),
-        maintainer_email="info@sktime.org",
-        maintainer=f"{projectname} developers",
-        name=projectname,
-        package_data={
-            "sktime": [
-                "*.csv",
-                "*.csv.gz",
-                "*.arff",
-                "*.arff.gz",
-                "*.txt",
-                "*.ts",
-                "*.tsv",
-            ]
-        },
-        packages=find_packages(
-            where=".",
-            exclude=["tests", "tests.*"],
-        ),
-        project_urls=pyproject["project"]["urls"],
-        python_requires=pyproject["project"]["requires-python"],
-        setup_requires=pyproject["build-system"]["requires"],
-        url=pyproject["project"]["urls"]["repository"],
-        version=pyproject["project"]["version"],
-        zip_safe=False,
-    )
-
-
-if __name__ == "__main__":
-    setup_package()


Test patch: