2018-02-25 21:20:43 -06:00
|
|
|
# -*- coding: utf-8; -*-
|
2012-04-10 12:09:29 -05:00
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Rattail -- Retail Software Framework
|
2020-01-14 11:43:03 -06:00
|
|
|
# Copyright © 2010-2020 Lance Edgar
|
2012-04-10 12:09:29 -05:00
|
|
|
#
|
|
|
|
# This file is part of Rattail.
|
|
|
|
#
|
|
|
|
# Rattail is free software: you can redistribute it and/or modify it under the
|
2017-07-06 23:34:13 -05:00
|
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
|
|
# Foundation, either version 3 of the License, or (at your option) any later
|
|
|
|
# version.
|
2012-04-10 12:09:29 -05:00
|
|
|
#
|
|
|
|
# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
2017-07-06 23:34:13 -05:00
|
|
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
|
|
# details.
|
2012-04-10 12:09:29 -05:00
|
|
|
#
|
2017-07-06 23:34:13 -05:00
|
|
|
# You should have received a copy of the GNU General Public License along with
|
|
|
|
# Rattail. If not, see <http://www.gnu.org/licenses/>.
|
2012-04-10 12:09:29 -05:00
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
2018-02-25 21:20:43 -06:00
|
|
|
from __future__ import unicode_literals, absolute_import
|
2012-04-10 12:09:29 -05:00
|
|
|
|
2013-08-15 00:17:41 -05:00
|
|
|
import sys
|
2012-04-10 12:09:29 -05:00
|
|
|
import os.path
|
2014-04-21 11:16:49 -05:00
|
|
|
from setuptools import setup, find_packages
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
here = os.path.abspath(os.path.dirname(__file__))
|
2017-07-06 16:23:16 -05:00
|
|
|
exec(open(os.path.join(here, 'rattail', '_version.py')).read())
|
2014-02-16 02:16:45 -06:00
|
|
|
README = open(os.path.join(here, 'README.rst')).read()
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
|
|
|
|
requires = [
|
|
|
|
#
|
|
|
|
# Version numbers within comments below have specific meanings.
|
|
|
|
# Basically the 'low' value is a "soft low," and 'high' a "soft high."
|
|
|
|
# In other words:
|
|
|
|
#
|
|
|
|
# If either a 'low' or 'high' value exists, the primary point to be
|
|
|
|
# made about the value is that it represents the most current (stable)
|
|
|
|
# version available for the package (assuming typical public access
|
|
|
|
# methods) whenever this project was started and/or documented.
|
|
|
|
# Therefore:
|
|
|
|
#
|
|
|
|
# If a 'low' version is present, you should know that attempts to use
|
|
|
|
# versions of the package significantly older than the 'low' version
|
|
|
|
# may not yield happy results. (A "hard" high limit may or may not be
|
|
|
|
# indicated by a true version requirement.)
|
|
|
|
#
|
|
|
|
# Similarly, if a 'high' version is present, and especially if this
|
|
|
|
# project has laid dormant for a while, you may need to refactor a bit
|
|
|
|
# when attempting to support a more recent version of the package. (A
|
|
|
|
# "hard" low limit should be indicated by a true version requirement
|
|
|
|
# when a 'high' version is present.)
|
|
|
|
#
|
|
|
|
# In any case, developers and other users are encouraged to play
|
|
|
|
# outside the lines with regard to these soft limits. If bugs are
|
|
|
|
# encountered then they should be filed as such.
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
2018-02-12 23:34:21 -06:00
|
|
|
'bcrypt', # 3.1.4
|
2016-03-19 18:59:04 -05:00
|
|
|
'humanize', # 0.5.1
|
2013-09-01 17:09:38 -05:00
|
|
|
'lockfile', # 0.9.1
|
2018-01-26 14:06:13 -06:00
|
|
|
'openpyxl', # 2.5.0
|
2019-03-12 13:47:39 -05:00
|
|
|
'packaging', # 19.0
|
2018-02-12 13:38:24 -06:00
|
|
|
'progress', # 1.3
|
2017-02-04 12:25:57 -06:00
|
|
|
'six', # 1.10.0
|
2018-05-23 20:35:32 -05:00
|
|
|
'texttable', # 1.2.1
|
2018-01-26 14:06:13 -06:00
|
|
|
'xlrd', # 1.1.0
|
2013-09-01 17:09:38 -05:00
|
|
|
|
2014-09-24 01:17:16 -05:00
|
|
|
# TODO: Remove this / make it optional / etc.
|
|
|
|
'Mako', # 1.0.0
|
|
|
|
|
2013-09-01 17:09:38 -05:00
|
|
|
# Hardcode ``pytz`` minimum since apparently it isn't (any longer?) enough
|
|
|
|
# to simply require the library.
|
|
|
|
'pytz>=2013b', # 2013b
|
2018-02-12 14:21:18 -06:00
|
|
|
]
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
|
2015-01-14 15:36:45 -06:00
|
|
|
if sys.platform != 'win32':
|
2013-08-15 00:17:41 -05:00
|
|
|
requires += [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
2014-12-03 11:02:33 -06:00
|
|
|
'pyinotify', # 0.9.3
|
2018-02-25 21:43:52 -06:00
|
|
|
]
|
2013-08-15 00:17:41 -05:00
|
|
|
|
|
|
|
|
2013-09-01 17:09:38 -05:00
|
|
|
extras = {
|
|
|
|
|
2019-09-12 21:04:40 -05:00
|
|
|
'backup': [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
2021-01-13 13:06:18 -06:00
|
|
|
# TODO: not actually sure if msgpack is needed here now?
|
2019-09-12 21:04:40 -05:00
|
|
|
'msgpack', # 0.6.1
|
2021-01-13 13:06:18 -06:00
|
|
|
'borgbackup[fuse]', # 1.1.10 1.1.15
|
2019-09-12 21:04:40 -05:00
|
|
|
],
|
|
|
|
|
2015-07-21 19:17:50 -05:00
|
|
|
'bouncer': [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
2017-02-17 17:28:07 -06:00
|
|
|
# until we support PY3K we must stick with older flufl.bounce
|
|
|
|
'flufl.bounce<3.0', # 2.3
|
2015-07-21 19:17:50 -05:00
|
|
|
],
|
|
|
|
|
2015-02-11 17:05:33 -06:00
|
|
|
'db': [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
2016-05-05 16:52:55 -05:00
|
|
|
# Support for multiple migration bases was added in Alembic 0.7.
|
|
|
|
'alembic>=0.7.0', # 0.7.4
|
|
|
|
|
2015-02-11 17:05:33 -06:00
|
|
|
'SQLAlchemy', # 0.7.6
|
|
|
|
'SQLAlchemy-Continuum', # 1.1.5
|
2018-02-25 21:41:16 -06:00
|
|
|
],
|
2015-02-11 17:05:33 -06:00
|
|
|
|
2013-09-01 17:09:38 -05:00
|
|
|
'docs': [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
|
|
|
'Sphinx', # 1.1.3
|
2021-01-15 15:14:22 -06:00
|
|
|
'sphinx-paramlinks', # 0.4.3
|
2018-02-25 21:41:16 -06:00
|
|
|
],
|
2014-01-26 22:05:19 -06:00
|
|
|
|
|
|
|
'tests': [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
|
|
|
'coverage', # 3.6
|
|
|
|
'mock', # 1.0.1
|
|
|
|
'nose', # 1.3.0
|
2018-02-25 21:41:16 -06:00
|
|
|
],
|
|
|
|
}
|
2013-09-01 17:09:38 -05:00
|
|
|
|
|
|
|
|
2018-02-12 19:33:21 -06:00
|
|
|
# TODO: pretty sure some/all of this should be merged with above
|
2015-01-14 15:36:45 -06:00
|
|
|
if sys.platform == 'win32':
|
|
|
|
extras['auth'] = [
|
|
|
|
#
|
|
|
|
# package # low high
|
|
|
|
|
|
|
|
'py-bcrypt-w32', # 0.2.2
|
|
|
|
]
|
|
|
|
else:
|
|
|
|
extras['auth'] = [
|
|
|
|
#
|
|
|
|
# package # low high
|
2017-11-09 21:35:15 -06:00
|
|
|
|
|
|
|
'passlib', # 1.7.1
|
2018-02-12 19:33:21 -06:00
|
|
|
]
|
2015-01-14 15:36:45 -06:00
|
|
|
|
|
|
|
|
2012-04-10 12:09:29 -05:00
|
|
|
setup(
|
|
|
|
name = "rattail",
|
|
|
|
version = __version__,
|
|
|
|
author = "Lance Edgar",
|
|
|
|
author_email = "lance@edbob.org",
|
2015-11-16 18:39:57 -06:00
|
|
|
url = "https://rattailproject.org/",
|
2017-07-06 23:34:13 -05:00
|
|
|
license = "GNU GPL v3",
|
2012-04-10 12:09:29 -05:00
|
|
|
description = "Retail Software Framework",
|
2014-02-15 13:51:09 -06:00
|
|
|
long_description = README,
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
classifiers = [
|
2018-02-25 21:20:43 -06:00
|
|
|
'Development Status :: 4 - Beta',
|
2012-04-10 12:09:29 -05:00
|
|
|
'Environment :: Console',
|
|
|
|
'Environment :: Web Environment',
|
|
|
|
'Environment :: Win32 (MS Windows)',
|
|
|
|
'Environment :: X11 Applications',
|
|
|
|
'Intended Audience :: Developers',
|
2017-07-06 23:34:13 -05:00
|
|
|
'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
|
2012-04-10 12:09:29 -05:00
|
|
|
'Natural Language :: English',
|
|
|
|
'Operating System :: OS Independent',
|
|
|
|
'Programming Language :: Python',
|
|
|
|
'Programming Language :: Python :: 2.7',
|
2018-02-25 21:20:43 -06:00
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3.5',
|
2012-04-10 12:09:29 -05:00
|
|
|
'Topic :: Office/Business',
|
|
|
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
2018-02-25 21:20:43 -06:00
|
|
|
],
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
install_requires = requires,
|
2013-09-01 17:09:38 -05:00
|
|
|
extras_require = extras,
|
2016-05-04 11:47:37 -05:00
|
|
|
tests_require = ['rattail[db,tests]'],
|
2013-06-19 10:03:42 -05:00
|
|
|
test_suite = 'nose.collector',
|
2012-04-10 12:09:29 -05:00
|
|
|
|
2016-05-04 11:47:37 -05:00
|
|
|
packages = find_packages(),
|
2012-04-10 12:09:29 -05:00
|
|
|
include_package_data = True,
|
|
|
|
zip_safe = False,
|
|
|
|
|
|
|
|
entry_points = """
|
|
|
|
|
|
|
|
[console_scripts]
|
|
|
|
rattail = rattail.commands:main
|
2016-02-15 00:30:04 -06:00
|
|
|
rattail-dev = rattail.commands.dev:main
|
2017-05-12 23:14:01 -05:00
|
|
|
trainwreck = rattail.trainwreck.commands:main
|
2012-04-10 12:09:29 -05:00
|
|
|
|
|
|
|
[gui_scripts]
|
|
|
|
rattailw = rattail.commands:main
|
|
|
|
|
2012-07-25 15:11:22 -05:00
|
|
|
[rattail.commands]
|
2018-07-05 00:39:52 -05:00
|
|
|
backup = rattail.commands.backup:Backup
|
2016-02-15 00:30:04 -06:00
|
|
|
bouncer = rattail.commands.core:EmailBouncer
|
|
|
|
clonedb = rattail.commands.core:CloneDatabase
|
|
|
|
datasync = rattail.commands.core:DataSync
|
|
|
|
date-organize = rattail.commands.core:DateOrganize
|
2018-06-07 12:37:39 -05:00
|
|
|
execute-batch = rattail.commands.batch:ExecuteBatch
|
2019-07-28 22:04:54 -05:00
|
|
|
export-csv = rattail.commands.importing:ExportCSV
|
2017-02-23 15:06:31 -06:00
|
|
|
export-rattail = rattail.commands.importing:ExportRattail
|
2016-02-15 00:30:04 -06:00
|
|
|
filemon = rattail.commands.core:FileMonitorCommand
|
2019-07-29 13:12:45 -05:00
|
|
|
import-csv = rattail.commands.importing:ImportCSV
|
2020-12-06 19:34:38 -06:00
|
|
|
import-ifps = rattail.commands.importing:ImportIFPS
|
2016-05-13 12:25:20 -05:00
|
|
|
import-rattail = rattail.commands.importing:ImportRattail
|
2016-10-07 18:57:46 -05:00
|
|
|
import-sample = rattail.commands.importing:ImportSampleData
|
2017-05-26 12:11:14 -05:00
|
|
|
import-versions = rattail.commands.importing:ImportVersions
|
2016-10-07 19:00:53 -05:00
|
|
|
make-appdir = rattail.commands.core:MakeAppDir
|
2019-11-01 20:53:45 -05:00
|
|
|
make-batch = rattail.commands.batch:MakeBatch
|
2016-10-07 18:59:48 -05:00
|
|
|
make-config = rattail.commands.core:MakeConfig
|
2016-10-07 19:11:09 -05:00
|
|
|
make-user = rattail.commands.core:MakeUser
|
2016-10-07 19:01:23 -05:00
|
|
|
make-uuid = rattail.commands.core:MakeUUID
|
2018-06-07 12:37:39 -05:00
|
|
|
populate-batch = rattail.commands.batch:PopulateBatch
|
2019-10-10 16:07:27 -05:00
|
|
|
problems = rattail.commands.problems:Problems
|
2018-11-17 17:55:44 -06:00
|
|
|
purge-batches = rattail.commands.batch:PurgeBatches
|
2019-10-23 20:32:07 -05:00
|
|
|
purge-versions = rattail.commands.importing:PurgeVersions
|
2018-06-07 12:37:39 -05:00
|
|
|
refresh-batch = rattail.commands.batch:RefreshBatch
|
2019-01-17 12:45:15 -06:00
|
|
|
run-n-mail = rattail.commands.core:RunAndMail
|
2018-05-23 20:35:32 -05:00
|
|
|
runsql = rattail.commands.core:RunSQL
|
2018-06-07 16:47:03 -05:00
|
|
|
update-costs = rattail.commands.products:UpdateCosts
|
2017-08-06 13:53:19 -05:00
|
|
|
upgrade = rattail.commands.core:Upgrade
|
2020-08-17 16:14:34 -05:00
|
|
|
version-check = rattail.commands.importing:VersionCheck
|
2016-02-15 00:30:04 -06:00
|
|
|
|
|
|
|
[rattail_dev.commands]
|
|
|
|
new-batch = rattail.commands.dev:NewBatch
|
2012-07-25 15:11:22 -05:00
|
|
|
|
2015-08-16 19:50:57 -05:00
|
|
|
[rattail.config.extensions]
|
|
|
|
rattail.db = rattail.db:ConfigExtension
|
2017-05-12 23:14:01 -05:00
|
|
|
rattail.trainwreck = rattail.trainwreck.config:TrainwreckConfig
|
2015-08-16 19:50:57 -05:00
|
|
|
|
2012-08-29 18:26:46 -05:00
|
|
|
[rattail.sil.column_providers]
|
|
|
|
rattail = rattail.sil.columns:provide_columns
|
|
|
|
|
2015-01-19 00:15:38 -06:00
|
|
|
[rattail.vendors.catalogs.parsers]
|
2015-02-12 21:21:06 -06:00
|
|
|
rattail.contrib.dutchvalley = rattail.contrib.vendors.catalogs.dutchvalley:DutchValleyCatalogParser
|
2020-10-23 22:08:12 -05:00
|
|
|
rattail.contrib.equalexchange = rattail.contrib.vendors.catalogs.equalexchange:EqualExchangeCatalogParser
|
2015-02-12 21:21:06 -06:00
|
|
|
rattail.contrib.kehe = rattail.contrib.vendors.catalogs.kehe:KeheCatalogParser
|
2015-01-19 00:15:38 -06:00
|
|
|
rattail.contrib.lotuslight = rattail.contrib.vendors.catalogs.lotuslight:LotusLightCatalogParser
|
2015-02-12 21:21:06 -06:00
|
|
|
rattail.contrib.unfi = rattail.contrib.vendors.catalogs.unfi:UNFICatalogParser
|
2015-07-29 11:48:20 -05:00
|
|
|
rattail.contrib.unfi.2 = rattail.contrib.vendors.catalogs.unfi:UNFICatalogParser2
|
2015-01-19 00:15:38 -06:00
|
|
|
|
2015-02-16 17:49:06 -06:00
|
|
|
[rattail.vendors.invoices.parsers]
|
2015-02-16 18:58:12 -06:00
|
|
|
rattail.contrib.alberts = rattail.contrib.vendors.invoices.alberts:AlbertsInvoiceParser
|
2015-02-16 17:49:06 -06:00
|
|
|
rattail.contrib.kehe = rattail.contrib.vendors.invoices.kehe:KeheInvoiceParser
|
2015-02-16 18:40:36 -06:00
|
|
|
rattail.contrib.unfi = rattail.contrib.vendors.invoices.unfi:UnfiInvoiceParser
|
2015-02-16 17:49:06 -06:00
|
|
|
|
2012-04-10 12:09:29 -05:00
|
|
|
""",
|
2018-02-25 21:48:30 -06:00
|
|
|
)
|