Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
228
venv/Lib/site-packages/networkx/release.py
Normal file
228
venv/Lib/site-packages/networkx/release.py
Normal file
|
@ -0,0 +1,228 @@
|
|||
"""Release data for NetworkX.
|
||||
|
||||
When NetworkX is imported a number of steps are followed to determine
|
||||
the version information.
|
||||
|
||||
1) If the release is not a development release (dev=False), then version
|
||||
information is read from version.py, a file containing statically
|
||||
defined version information. This file should exist on every
|
||||
downloadable release of NetworkX since setup.py creates it during
|
||||
packaging/installation. However, version.py might not exist if one
|
||||
is running NetworkX from the mercurial repository. In the event that
|
||||
version.py does not exist, then no vcs information will be available.
|
||||
|
||||
2) If the release is a development release, then version information
|
||||
is read dynamically, when possible. If no dynamic information can be
|
||||
read, then an attempt is made to read the information from version.py.
|
||||
If version.py does not exist, then no vcs information will be available.
|
||||
|
||||
Clarification:
|
||||
version.py is created only by setup.py
|
||||
|
||||
When setup.py creates version.py, it does so before packaging/installation.
|
||||
So the created file is included in the source distribution. When a user
|
||||
downloads a tar.gz file and extracts the files, the files will not be in a
|
||||
live version control repository. So when the user runs setup.py to install
|
||||
NetworkX, we must make sure write_versionfile() does not overwrite the
|
||||
revision information contained in the version.py that was included in the
|
||||
tar.gz file. This is why write_versionfile() includes an early escape.
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import datetime
|
||||
|
||||
basedir = os.path.abspath(os.path.split(__file__)[0])
|
||||
|
||||
|
||||
def write_versionfile():
|
||||
"""Creates a static file containing version information."""
|
||||
versionfile = os.path.join(basedir, "version.py")
|
||||
|
||||
text = '''"""
|
||||
Version information for NetworkX, created during installation.
|
||||
|
||||
Do not add this file to the repository.
|
||||
|
||||
"""
|
||||
|
||||
import datetime
|
||||
|
||||
version = %(version)r
|
||||
date = %(date)r
|
||||
|
||||
# Was NetworkX built from a development version? If so, remember that the major
|
||||
# and minor versions reference the "target" (rather than "current") release.
|
||||
dev = %(dev)r
|
||||
|
||||
# Format: (name, major, min, revision)
|
||||
version_info = %(version_info)r
|
||||
|
||||
# Format: a 'datetime.datetime' instance
|
||||
date_info = %(date_info)r
|
||||
|
||||
# Format: (vcs, vcs_tuple)
|
||||
vcs_info = %(vcs_info)r
|
||||
|
||||
'''
|
||||
|
||||
# Try to update all information
|
||||
date, date_info, version, version_info, vcs_info = get_info(dynamic=True)
|
||||
|
||||
def writefile():
|
||||
fh = open(versionfile, "w")
|
||||
subs = {
|
||||
"dev": dev,
|
||||
"version": version,
|
||||
"version_info": version_info,
|
||||
"date": date,
|
||||
"date_info": date_info,
|
||||
"vcs_info": vcs_info,
|
||||
}
|
||||
fh.write(text % subs)
|
||||
fh.close()
|
||||
|
||||
if vcs_info[0] == "mercurial":
|
||||
# Then, we want to update version.py.
|
||||
writefile()
|
||||
else:
|
||||
if os.path.isfile(versionfile):
|
||||
# This is *good*, and the most likely place users will be when
|
||||
# running setup.py. We do not want to overwrite version.py.
|
||||
# Grab the version so that setup can use it.
|
||||
# sys.path.insert(0, basedir)
|
||||
from version import version
|
||||
|
||||
# del sys.path[0]
|
||||
else:
|
||||
# This is *bad*. It means the user might have a tarball that
|
||||
# does not include version.py. Let this error raise so we can
|
||||
# fix the tarball.
|
||||
# raise Exception('version.py not found!')
|
||||
|
||||
# We no longer require that prepared tarballs include a version.py
|
||||
# So we use the possibly trunctated value from get_info()
|
||||
# Then we write a new file.
|
||||
writefile()
|
||||
|
||||
return version
|
||||
|
||||
|
||||
def get_revision():
|
||||
"""Returns revision and vcs information, dynamically obtained."""
|
||||
vcs, revision, tag = None, None, None
|
||||
|
||||
gitdir = os.path.join(basedir, "..", ".git")
|
||||
|
||||
if os.path.isdir(gitdir):
|
||||
vcs = "git"
|
||||
# For now, we are not bothering with revision and tag.
|
||||
|
||||
vcs_info = (vcs, (revision, tag))
|
||||
|
||||
return revision, vcs_info
|
||||
|
||||
|
||||
def get_info(dynamic=True):
|
||||
# Date information
|
||||
date_info = datetime.datetime.utcfromtimestamp(
|
||||
int(os.environ.get("SOURCE_DATE_EPOCH", time.time()))
|
||||
)
|
||||
date = time.asctime(date_info.timetuple())
|
||||
|
||||
revision, version, version_info, vcs_info = None, None, None, None
|
||||
|
||||
import_failed = False
|
||||
dynamic_failed = False
|
||||
|
||||
if dynamic:
|
||||
revision, vcs_info = get_revision()
|
||||
if revision is None:
|
||||
dynamic_failed = True
|
||||
|
||||
if dynamic_failed or not dynamic:
|
||||
# This is where most final releases of NetworkX will be.
|
||||
# All info should come from version.py. If it does not exist, then
|
||||
# no vcs information will be provided.
|
||||
# sys.path.insert(0, basedir)
|
||||
try:
|
||||
from version import date, date_info, version, version_info, vcs_info
|
||||
except ImportError:
|
||||
import_failed = True
|
||||
vcs_info = (None, (None, None))
|
||||
else:
|
||||
revision = vcs_info[1][0]
|
||||
# del sys.path[0]
|
||||
|
||||
if import_failed or (dynamic and not dynamic_failed):
|
||||
# We are here if:
|
||||
# we failed to determine static versioning info, or
|
||||
# we successfully obtained dynamic revision info
|
||||
version = "".join([str(major), ".", str(minor)])
|
||||
if dev:
|
||||
version += ".dev_" + date_info.strftime("%Y%m%d%H%M%S")
|
||||
version_info = (name, major, minor, revision)
|
||||
|
||||
return date, date_info, version, version_info, vcs_info
|
||||
|
||||
|
||||
# Version information
|
||||
name = "networkx"
|
||||
major = "2"
|
||||
minor = "5"
|
||||
|
||||
|
||||
# Declare current release as a development release.
|
||||
# Change to False before tagging a release; then change back.
|
||||
dev = False
|
||||
|
||||
|
||||
description = "Python package for creating and manipulating graphs and networks"
|
||||
authors = {
|
||||
"Hagberg": ("Aric Hagberg", "hagberg@lanl.gov"),
|
||||
"Schult": ("Dan Schult", "dschult@colgate.edu"),
|
||||
"Swart": ("Pieter Swart", "swart@lanl.gov"),
|
||||
}
|
||||
maintainer = "NetworkX Developers"
|
||||
maintainer_email = "networkx-discuss@googlegroups.com"
|
||||
url = "http://networkx.github.io/"
|
||||
project_urls = {
|
||||
"Bug Tracker": "https://github.com/networkx/networkx/issues",
|
||||
"Documentation": "https://networkx.github.io/documentation/stable/",
|
||||
"Source Code": "https://github.com/networkx/networkx",
|
||||
}
|
||||
platforms = ["Linux", "Mac OSX", "Windows", "Unix"]
|
||||
keywords = [
|
||||
"Networks",
|
||||
"Graph Theory",
|
||||
"Mathematics",
|
||||
"network",
|
||||
"graph",
|
||||
"discrete mathematics",
|
||||
"math",
|
||||
]
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Intended Audience :: Developers",
|
||||
"Intended Audience :: Science/Research",
|
||||
"License :: OSI Approved :: BSD License",
|
||||
"Operating System :: OS Independent",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.6",
|
||||
"Programming Language :: Python :: 3.7",
|
||||
"Programming Language :: Python :: 3.8",
|
||||
"Programming Language :: Python :: 3 :: Only",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Scientific/Engineering :: Bio-Informatics",
|
||||
"Topic :: Scientific/Engineering :: Information Analysis",
|
||||
"Topic :: Scientific/Engineering :: Mathematics",
|
||||
"Topic :: Scientific/Engineering :: Physics",
|
||||
]
|
||||
|
||||
date, date_info, version, version_info, vcs_info = get_info()
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Write versionfile for nightly snapshots.
|
||||
write_versionfile()
|
Loading…
Add table
Add a link
Reference in a new issue