annotate setup.py @ 1245:079e8eb6e327

server (tasks): refactoring: - moved `TasksManager` to `server.tasks.manager` - tasks modules now must have a `Task` class which will be instanciated by TasksManager - `server.tasks.task` has a basis for `Task` class - `Task.prepare` can now be asynchronous - `importlib` is now used to import tasks, instead of exec - tasks are now parsed/run after pages are imported - `server.BackendReady` is now a coroutine - type hinting for Task attributes
author Goffi <goffi@goffi.org>
date Sat, 25 Apr 2020 16:08:55 +0200
parents f511f8fbbf8a
children 560d381943d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1212
diff changeset
1 #!/usr/bin/env python3
1239
f511f8fbbf8a fixed shebangs
Goffi <goffi@goffi.org>
parents: 1223
diff changeset
2
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
3
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
4 # Libervia: a Salut à Toi frontend
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
5 # Copyright (C) 2011-2018 Jérôme Poisson (goffi@goffi.org)
818
f8a7a046ff9c copyright update
Goffi <goffi@goffi.org>
parents: 791
diff changeset
6 # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org)
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
7
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
8 # This program is free software: you can redistribute it and/or modify
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
9 # it under the terms of the GNU Affero General Public License as published by
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
10 # the Free Software Foundation, either version 3 of the License, or
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
11 # (at your option) any later version.
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
12
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
13 # This program is distributed in the hope that it will be useful,
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
16 # GNU Affero General Public License for more details.
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
17
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
18 # You should have received a copy of the GNU Affero General Public License
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
20
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
21 from setuptools import setup
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
22 import os
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
23
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
24 NAME = "libervia"
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
25
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
26 install_requires = [
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1212
diff changeset
27 "sat>=0.8.0.dev0",
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
28 "sat-templates",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
29 "twisted",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
30 "zope.interface",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
31 "pyopenssl",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
32 "jinja2>=2.9",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
33 "shortuuid",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
34 "autobahn",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
35 ]
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1212
diff changeset
36 long_description = """\
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
37 Libervia is a web frontend for Salut à Toi (SàT), a multi-frontends and multi-purposes XMPP client.
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
38 It features chat, blog, forums, events, tickets, merge requests, file sharing, photo albums, etc.
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
39 It is also a decentralized, XMPP based web framework.
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
40 """
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
41
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
42 with open(os.path.join(NAME, "VERSION")) as v:
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
43 VERSION = v.read().strip()
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
44 is_dev_version = VERSION.endswith("D")
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
45
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
46
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
47 def libervia_dev_version():
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
48 """Use mercurial data to compute version"""
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
49
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
50 def version_scheme(version):
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
51 return VERSION.replace("D", ".dev0")
360
9834136b15ed added setup.py for the installation with setuptools
souliane <souliane@mailoo.org>
parents:
diff changeset
52
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
53 def local_scheme(version):
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
54 return "+{rev}.{distance}".format(rev=version.node[1:], distance=version.distance)
449
981ed669d3b3 /!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents: 447
diff changeset
55
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
56 return {"version_scheme": version_scheme, "local_scheme": local_scheme}
449
981ed669d3b3 /!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents: 447
diff changeset
57
981ed669d3b3 /!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents: 447
diff changeset
58
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
59 setup(
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
60 name=NAME,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
61 version=VERSION,
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1212
diff changeset
62 description="Web frontend for Salut à Toi",
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
63 long_description=long_description,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
64 author="Association « Salut à Toi »",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
65 author_email="contact@goffi.org",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
66 url="https://www.salut-a-toi.org",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
67 classifiers=[
1223
4976eb0f5315 install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents: 1222
diff changeset
68 "Programming Language :: Python :: 3 :: Only",
4976eb0f5315 install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents: 1222
diff changeset
69 "Programming Language :: Python :: 3.6",
4976eb0f5315 install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents: 1222
diff changeset
70 "Programming Language :: Python :: 3.7",
4976eb0f5315 install (setup.py): updated classifiers
Goffi <goffi@goffi.org>
parents: 1222
diff changeset
71 "Development Status :: 5 - Production/Stable",
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
72 "Environment :: Web Environment",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
73 "Framework :: Twisted",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
74 "License :: OSI Approved :: GNU Affero General Public License v3 "
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
75 "or later (AGPLv3+)",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
76 "Operating System :: POSIX :: Linux",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
77 "Topic :: Communications :: Chat",
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
78 ],
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
79 packages=["libervia", "libervia.common", "libervia.server", "twisted.plugins"],
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
80 include_package_data=True,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
81 data_files=[(os.path.join("share", "doc", NAME), ["COPYING", "README", "INSTALL"])]
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
82 + [
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
83 (os.path.join("share", NAME, root), [os.path.join(root, f) for f in files])
1216
b2d067339de3 python 3 port:
Goffi <goffi@goffi.org>
parents: 1212
diff changeset
84 for root, dirs, files in os.walk("themes")
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
85 ],
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
86 scripts=["bin/libervia"],
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
87 zip_safe=False,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
88 setup_requires=["setuptools_scm"] if is_dev_version else [],
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
89 use_scm_version=libervia_dev_version if is_dev_version else False,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
90 install_requires=install_requires,
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
91 package_data={"libervia": ["VERSION"]},
1222
b2a9da7708f6 install (setup.py): updated `python_requires`
Goffi <goffi@goffi.org>
parents: 1216
diff changeset
92 python_requires=">=3.6",
1124
28e3eb3bb217 files reorganisation and installation rework:
Goffi <goffi@goffi.org>
parents: 1121
diff changeset
93 )