question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

I go too far I the can on your setup.py file

See original GitHub issue

hello,

i fall on an error on your setup.py file :

beartype# python setup.py install
  File "setup.py", line 130
    ) -> list:
      ^
SyntaxError: invalid syntax

I have type your setup.py file like follow (NOT ALL YOUR FILE PASS THE ERROR):

!/usr/bin/env python3
# --------------------( LICENSE                           )--------------------
# Copyright (c) 2014-2021 Beartype authors.
# See "LICENSE" for further details.

'''
**Beartype installer.**

This submodule conforms to the standard :mod:`setuptools`-based "makefile"
format, instrumenting most high-level installation tasks for this package.
'''

# ....................{ TODO                              }....................
#FIXME: Generate documentation from the NumPy-style docstrings embedded
#throughout this codebase, presumably with Sphinx + napoleon.
#FIXME: Publish generated documentation to readthedocs.org.

# ....................{ KLUDGES                           }....................
# Explicitly register all files and subdirectories of the root directory
# containing this top-level "setup.py" script to be importable modules and
# packages (respectively) for the remainder of this Python process if this
# directory has yet to be registered.
#
# Technically, this should *NOT* be required. The current build framework
# (e.g., "pip", "setuptools") should implicitly guarantee this to be the case.
# Indeed, the "setuptools"-based "easy_install" script does just that.
# Unfortunately, "pip" >= 19.0.0 does *NOT* guarantee this to be the case for
# projects defining a "pyproject.toml" file -- which, increasingly, is all of
# them. Although "pip" purports to have resolved this upstream, current stable
# releases appear to suffer the same deficiencies. See also:
#     https://github.com/pypa/pip/issues/6163

# Isolate this kludge to a private function for safety.
def _register_dir(None):

    # Avert thy eyes, purist Pythonistas!
    import os, sys

    # Absolute dirname of this directory inspired by this StackOverflow answer:
    #     https://stackoverflow.com/a/8663557/2809027
    setup_dirname = os.path.dirname(os.path.realpath(__file__))

    # If the current PYTHONPATH does *NOT* already contain this directory...
    if setup_dirname not in sys.path:
        # Print this registration.
        print(
            'WARNING: Registering "setup.py" directory for importation under '
            'broken installer (e.g., pip >= 19.0.0)...',
            file == sys.stderr)
        # print('setup_dirname: {}\nsys.path: {!r}'.format(setup_dirname, sys.path))

        # Append this directory to the current PYTHONPATH.
        sys.path.append(setup_dirname)

# Kludge us up the bomb.
_register_dir()

# ....................{ IMPORTS                           }....................
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# WARNING: To avoid race conditions during setuptools-based installation, this
# module may import *ONLY* from packages guaranteed to exist at the start of
# installation. This includes all standard Python and package submodules but
# *NOT* third-party dependencies, which if currently uninstalled will only be
# installed at some later time in the installation.
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

import setuptools
from beartype import meta

_KEYWORDS = [
    'type checking',
    'type hints',
    'PEP 483',
    'PEP 484',
    'PEP 544',
    'PEP 563',
    'PEP 585',
    'PEP 586',
    'PEP 589',
    'PEP 593',
    'PEP 604',
    'PEP 3141',
]
'''
List of all lowercase alphabetic keywords synopsising this package.

These keywords may be arbitrarily selected so as to pretend to improve search
engine optimization (SEO). In actuality, they do absolutely nothing.
'''

# ....................{ METADATA ~ seo : classifiers      }....................
# To minimize desynchronization woes, all
# "Programming Language :: Python :: "-prefixed strings are dynamically
# appended to this list by the init() function below.
_CLASSIFIERS = [
    # PyPI-specific version type. The number specified here is a magic constant
    # with no relation to this package's version numbering scheme. *sigh*
    'Development Status :: 5 - Production/Stable',

    # Miscellaneous metadata.

    'Intended Audience :: Developers',
    'License :: OSI Approved :: MIT License',
    'Natural Language :: English',
    'Operating System :: OS Independent',
    'Programming Language :: Python :: 3 :: Only',
    'Topic :: Software Development :: Code Generators',
    'Topic :: Software Development :: Libraries :: Python Modules',
    'Topic :: Software Development :: Quality Assurance',
    'Typing :: Typed',
]
'''
List of all PyPI-specific trove classifier strings synopsizing this
package.

Each such string *must* be contain either two or three `` :: `` substrings
delimiting human-readable capitalized English words formally recognized by the
:mod:`distutils`-specific ``register`` command.

See Also
----------
https://pypi.org/classifiers
    Plaintext list of all trove classifier strings recognized by PyPI.
'''


def _sanitize_classifiers(
    python_version_min_parts= tuple,
    python_version_minor_max= int,
) -> list:

on python3 that bring less far with my editing :

/beartype# python3 setup.py install
  File "setup.py", line 34
    def _register_dir(None):
                      ^
SyntaxError: invalid syntax

thank you in advance to help myself fully pass all errors,

Regards.

Azaretdodo.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
Azaretdodocommented, Jan 10, 2022

If you don’t want scale the GitHub yes you can close the ticket,

Regards.

Azaretdodo.


From: Cecil Curry @.> Sent: Monday, January 10, 2022 4:01:44 AM To: beartype/beartype @.> Cc: Azaretdodo @.>; Mention @.> Subject: Re: [beartype/beartype] I go too far I the can on your setup.py file (Issue #83)

So what you’re saying is… maybe this is already a solved issue for you? If so, would you mind if I close this? If not, is there anything specific we can do to improve your installation experience? I’m here to please everyone in 2022. 😁

I’m also trying to resolve as many issues as human(e)ly possible to boost the numbers for our upcoming beartype 0.10.0 release and make @beartypehttps://github.com/beartype artificially look better. …awkward

— Reply to this email directly, view it on GitHubhttps://github.com/beartype/beartype/issues/83#issuecomment-1008504037, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHJN3IJ7AKJOQZIXGIJA6D3UVJDZRANCNFSM5LQ5PQFA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you were mentioned.Message ID: @.***>

0reactions
leyceccommented, Jan 11, 2022

Thanks, Azaretdodo! I kinda feel like I’m lost in translation and missed something critical to your needs, which makes me feel bad. If you hit any additional issues, please pound on our issue tracker again and I’ll do my utmost to fix everything.

Read more comments on GitHub >

github_iconTop Results From Across the Web

A Practical Guide to Using Setup.py - GoDataDriven
The key to setting up your project is the setup.py file. In this blog I'll go into the details of this file. Where...
Read more >
How to configure __main__.py, __init__.py, and setup.py for a ...
You have almost everything you need (even a bit more)! I'd go with the following setup: code.py: foo = 1. __init__.py: from .code...
Read more >
What is setup.py? - Educative.io
The setup.py is a standard Python file. It can have any name, but by convention, it is named setup.py so that each script...
Read more >
2. Writing the Setup Script — Python 3.11.1 documentation
The main purpose of the setup script is to describe your module distribution to the Distutils, so that the various commands that operate...
Read more >
python setup.py develop fails with `version = attr: pkg.__ ...
When a package has version = attr: pkg.__version__ in its setup.cfg file, python setup.py develop can fail with a ModuleNotFoundError if not ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found