Files @ 874cbc4462bd
Branch filter:

Location: rattail-project/rattail/setup.py - annotation

Lance Edgar
Clean up Rattail <-> Rattail import/export handlers a bit
3f2f8fc94c5f
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
3f2f8fc94c5f
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
180c9314d848
180c9314d848
180c9314d848
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
180c9314d848
180c9314d848
c9d3a2c06412
180c9314d848
180c9314d848
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
3f2f8fc94c5f
c9d3a2c06412
659c27a29329
c9d3a2c06412
cabfcc21a7aa
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
ce1b0ec546b1
f73d4a607ee5
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
1f3ade8b1da0
f63f6f5e2edd
0079d12ad31e
b5a3f60b18f8
e633899998c8
de61364c8e42
41da3e6ae8d3
b5a3f60b18f8
0079d12ad31e
948147bf0f13
948147bf0f13
948147bf0f13
0079d12ad31e
0079d12ad31e
0079d12ad31e
2c983984ea2e
c9d3a2c06412
c9d3a2c06412
3a3b2514ec69
659c27a29329
659c27a29329
659c27a29329
659c27a29329
c718908153b6
22fb5bc0facd
659c27a29329
659c27a29329
0079d12ad31e
0079d12ad31e
f85ba1d3f97f
f85ba1d3f97f
f85ba1d3f97f
f85ba1d3f97f
191c2f0ecaa3
191c2f0ecaa3
f85ba1d3f97f
f85ba1d3f97f
b29307550ff8
b29307550ff8
b29307550ff8
b29307550ff8
4cae697b67b1
4cae697b67b1
4cae697b67b1
b29307550ff8
b29307550ff8
7f3daec2d5e9
b29307550ff8
0079d12ad31e
0079d12ad31e
0079d12ad31e
0079d12ad31e
0079d12ad31e
7f3daec2d5e9
148968ba09b1
148968ba09b1
148968ba09b1
148968ba09b1
148968ba09b1
148968ba09b1
9cb7ff906833
148968ba09b1
148968ba09b1
7f3daec2d5e9
7f3daec2d5e9
0079d12ad31e
0079d12ad31e
45746ff5e0e3
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
3a3b2514ec69
4af93ac4050f
4af93ac4050f
45746ff5e0e3
3a3b2514ec69
3a3b2514ec69
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
7d13bd75090f
180c9314d848
c9d3a2c06412
5f6af4019f09
c9d3a2c06412
c9d3a2c06412
3f2f8fc94c5f
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
180c9314d848
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
3f2f8fc94c5f
3f2f8fc94c5f
c9d3a2c06412
c9d3a2c06412
3f2f8fc94c5f
c9d3a2c06412
c9d3a2c06412
0079d12ad31e
9cb7ff906833
4f34e6dddc7e
c9d3a2c06412
9cb7ff906833
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
db66d25b3411
3f819cc40edf
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
c9d3a2c06412
9b5fa3ae454b
08730f10e2f7
db66d25b3411
db66d25b3411
db66d25b3411
db66d25b3411
065b0312bb42
7c481d3481cf
db66d25b3411
328c8377c5ec
ee8599559f97
a0583f79a9ee
5d0e0ecfb3f3
00d9eb496b0d
c120a181e58b
7b596ab0cf9b
065b0312bb42
081fe2625a6e
065b0312bb42
64c747432c90
41da3e6ae8d3
1a786c655704
c15e9e568e5b
db66d25b3411
db66d25b3411
db66d25b3411
9b5fa3ae454b
85ab706736d2
85ab706736d2
3f819cc40edf
85ab706736d2
eab4034b3e03
eab4034b3e03
eab4034b3e03
1066d4feddc5
c05d50b354ca
c05d50b354ca
1066d4feddc5
c05d50b354ca
f52c3e1cf0a0
1066d4feddc5
34185d43dbae
42a5b8ba8592
34185d43dbae
e8159e80e927
34185d43dbae
c9d3a2c06412
d6f42e590126
# -*- coding: utf-8; -*-
################################################################################
#
#  Rattail -- Retail Software Framework
#  Copyright © 2010-2018 Lance Edgar
#
#  This file is part of Rattail.
#
#  Rattail is free software: you can redistribute it and/or modify it under the
#  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.
#
#  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
#  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
#  details.
#
#  You should have received a copy of the GNU General Public License along with
#  Rattail.  If not, see <http://www.gnu.org/licenses/>.
#
################################################################################

from __future__ import unicode_literals, absolute_import

import sys
import os.path
from setuptools import setup, find_packages


here = os.path.abspath(os.path.dirname(__file__))
exec(open(os.path.join(here, 'rattail', '_version.py')).read())
README = open(os.path.join(here, 'README.rst')).read()


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

    'bcrypt',                           # 3.1.4
    'humanize',                         # 0.5.1
    'lockfile',                         # 0.9.1
    'openpyxl',                         # 2.5.0
    'progress',                         # 1.3
    'six',                              # 1.10.0
    'texttable',                        # 1.2.1
    'xlrd',                             # 1.1.0

    # TODO: Remove this / make it optional / etc.
    'Mako',                             # 1.0.0

    # Hardcode ``pytz`` minimum since apparently it isn't (any longer?) enough
    # to simply require the library.
    'pytz>=2013b',                      #                       2013b 
]


if sys.platform != 'win32':
    requires += [
        #
        # package                       # low                   high
            
        'pyinotify',                    # 0.9.3
    ]


extras = {

    'bouncer': [
        #
        # package                       # low                   high

        # until we support PY3K we must stick with older flufl.bounce
        'flufl.bounce<3.0',             # 2.3
    ],

    'db': [
        #
        # package                       # low                   high

        # Support for multiple migration bases was added in Alembic 0.7.
        'alembic>=0.7.0',               #                       0.7.4

        'SQLAlchemy',                   # 0.7.6
        'SQLAlchemy-Continuum',         # 1.1.5
    ],

    'docs': [
        #
        # package                       # low                   high

        'Sphinx',                       # 1.1.3
    ],

    'tests': [
        #
        # package                       # low                   high

        'coverage',                     # 3.6
        'fixture',                      # 1.5
        'mock',                         # 1.0.1
        'nose',                         # 1.3.0
    ],
}


# TODO: pretty sure some/all of this should be merged with above
if sys.platform == 'win32':
    extras['auth'] = [
        #
        # package                       # low                   high

        'py-bcrypt-w32',                # 0.2.2
        ]
else:
    extras['auth'] = [
        #
        # package                       # low                   high

        'passlib',                      # 1.7.1
    ]


setup(
    name = "rattail",
    version = __version__,
    author = "Lance Edgar",
    author_email = "lance@edbob.org",
    url = "https://rattailproject.org/",
    license = "GNU GPL v3",
    description = "Retail Software Framework",
    long_description = README,

    classifiers = [
        'Development Status :: 4 - Beta',
        'Environment :: Console',
        'Environment :: Web Environment',
        'Environment :: Win32 (MS Windows)',
        'Environment :: X11 Applications',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)',
        'Natural Language :: English',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
        'Topic :: Office/Business',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ],

    install_requires = requires,
    extras_require = extras,
    tests_require = ['rattail[db,tests]'],
    test_suite = 'nose.collector',

    packages = find_packages(),
    include_package_data = True,
    zip_safe = False,

    entry_points = """

[console_scripts]
rattail = rattail.commands:main
rattail-dev = rattail.commands.dev:main
trainwreck = rattail.trainwreck.commands:main

[gui_scripts]
rattailw = rattail.commands:main

[rattail.commands]
backup = rattail.commands.backup:Backup
bouncer = rattail.commands.core:EmailBouncer
clonedb = rattail.commands.core:CloneDatabase
datasync = rattail.commands.core:DataSync
date-organize = rattail.commands.core:DateOrganize
execute-batch = rattail.commands.batch:ExecuteBatch
export-rattail = rattail.commands.importing:ExportRattail
filemon = rattail.commands.core:FileMonitorCommand
import-rattail = rattail.commands.importing:ImportRattail
import-sample = rattail.commands.importing:ImportSampleData
import-versions = rattail.commands.importing:ImportVersions
make-appdir = rattail.commands.core:MakeAppDir
make-config = rattail.commands.core:MakeConfig
make-user = rattail.commands.core:MakeUser
make-uuid = rattail.commands.core:MakeUUID
populate-batch = rattail.commands.batch:PopulateBatch
purge-batches = rattail.commands.batch:PurgeBatches
refresh-batch = rattail.commands.batch:RefreshBatch
run-n-mail = rattail.commands.core:RunAndMail
runsql = rattail.commands.core:RunSQL
update-costs = rattail.commands.products:UpdateCosts
upgrade = rattail.commands.core:Upgrade

[rattail_dev.commands]
new-batch = rattail.commands.dev:NewBatch

[rattail.config.extensions]
rattail.db = rattail.db:ConfigExtension
rattail.trainwreck = rattail.trainwreck.config:TrainwreckConfig

[rattail.sil.column_providers]
rattail = rattail.sil.columns:provide_columns

[rattail.vendors.catalogs.parsers]
rattail.contrib.dutchvalley = rattail.contrib.vendors.catalogs.dutchvalley:DutchValleyCatalogParser
rattail.contrib.kehe = rattail.contrib.vendors.catalogs.kehe:KeheCatalogParser
rattail.contrib.lotuslight = rattail.contrib.vendors.catalogs.lotuslight:LotusLightCatalogParser
rattail.contrib.unfi = rattail.contrib.vendors.catalogs.unfi:UNFICatalogParser
rattail.contrib.unfi.2 = rattail.contrib.vendors.catalogs.unfi:UNFICatalogParser2

[rattail.vendors.invoices.parsers]
rattail.contrib.alberts = rattail.contrib.vendors.invoices.alberts:AlbertsInvoiceParser
rattail.contrib.kehe = rattail.contrib.vendors.invoices.kehe:KeheInvoiceParser
rattail.contrib.unfi = rattail.contrib.vendors.invoices.unfi:UnfiInvoiceParser

""",
)