Skip to content
Browse files

Issue #49, update setup.py for packaging

* MANIFEST.in listing all deps (js and otherwise)
* Remove requirements file in favor of install_requires in setup.py
* Copy of LICENSE and NOTICES for Python only package
* Fixes to install doc
  • Loading branch information...
1 parent 8a5cecd commit 2df148e8f345657475507109ab63d68c4bc964d7 @parente parente committed Mar 16, 2011
View
6 docs/tutorial/install.rst
@@ -114,7 +114,7 @@ If you want to create a virtualenv containing all the pre-requisites needed to d
.. sourcecode:: console
$ cd servers/python
- $ pip install -r requirements.txt
+ $ pip install .
#. Use the `pycoweb` command to create a new coweb deployment in the virtual environment root.
@@ -152,10 +152,10 @@ The http://github.com/opencoweb/cowebx repository on GitHub contains the coweb e
.. sourcecode:: console
- $ cd cowebx/apps
+ $ cd cowebx/cowebx-apps
$ python setup.py deploy /desired/project/path --force
- .. note:: This command will overwrite any :file:`run_server` script that already exists in :file:`/desired/project/path/bin` (e.g., if you ran :file:`pycoweb` previously to seed an empty application in the virtualenv).
+ .. note:: This command will overwrite any :file:`run_server.py` script that already exists in :file:`/desired/project/path/bin` (e.g., if you ran :file:`pycoweb` previously to seed an empty application in the virtualenv).
#. Execute the generated coweb application container script to start the server.
View
199 servers/python/LICENSE
@@ -0,0 +1,199 @@
+The Open Cooperative Web Framework, herein referred to as OpenCoweb, is
+available under *either* the terms of the modified BSD license *or* the
+Academic Free License version 2.1. As a recipient of OpenCoweb, you may choose
+which license to receive this code under (except as noted in per-module LICENSE
+files). Some modules may not be the copyright of the Dojo Foundation. These
+modules contain explicit declarations of copyright in both the LICENSE files in
+the directories in which they reside and in the code itself. No external
+contributions are allowed under licenses which are fundamentally incompatible
+with the AFL or BSD licenses that OpenCoweb is distributed under.
+
+The Program may include third party code that is not covered under the
+OpenCoweb License. These third party dependencies can be found in the Program's
+NOTICES file.
+
+The text of the AFL and BSD licenses is reproduced below.
+
+-------------------------------------------------------------------------------
+The "New" BSD License:
+**********************
+
+Copyright (c) 2011 The Dojo Foundation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ * Neither the name of the Dojo Foundation nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------------------
+The Academic Free License, v. 2.1:
+**********************************
+
+This Academic Free License (the "License") applies to any original work of
+authorship (the "Original Work") whose owner (the "Licensor") has placed the
+following notice immediately following the copyright notice for the Original
+Work:
+
+Licensed under the Academic Free License version 2.1
+
+1) Grant of Copyright License. Licensor hereby grants You a world-wide,
+royalty-free, non-exclusive, perpetual, sublicenseable license to do the
+following:
+
+a) to reproduce the Original Work in copies;
+
+b) to prepare derivative works ("Derivative Works") based upon the Original
+Work;
+
+c) to distribute copies of the Original Work and Derivative Works to the
+public;
+
+d) to perform the Original Work publicly; and
+
+e) to display the Original Work publicly.
+
+2) Grant of Patent License. Licensor hereby grants You a world-wide,
+royalty-free, non-exclusive, perpetual, sublicenseable license, under patent
+claims owned or controlled by the Licensor that are embodied in the Original
+Work as furnished by the Licensor, to make, use, sell and offer for sale the
+Original Work and Derivative Works.
+
+3) Grant of Source Code License. The term "Source Code" means the preferred
+form of the Original Work for making modifications to it and all available
+documentation describing how to modify the Original Work. Licensor hereby
+agrees to provide a machine-readable copy of the Source Code of the Original
+Work along with each copy of the Original Work that Licensor distributes.
+Licensor reserves the right to satisfy this obligation by placing a
+machine-readable copy of the Source Code in an information repository
+reasonably calculated to permit inexpensive and convenient access by You for as
+long as Licensor continues to distribute the Original Work, and by publishing
+the address of that information repository in a notice immediately following
+the copyright notice that applies to the Original Work.
+
+4) Exclusions From License Grant. Neither the names of Licensor, nor the names
+of any contributors to the Original Work, nor any of their trademarks or
+service marks, may be used to endorse or promote products derived from this
+Original Work without express prior written permission of the Licensor. Nothing
+in this License shall be deemed to grant any rights to trademarks, copyrights,
+patents, trade secrets or any other intellectual property of Licensor except as
+expressly stated herein. No patent license is granted to make, use, sell or
+offer to sell embodiments of any patent claims other than the licensed claims
+defined in Section 2. No right is granted to the trademarks of Licensor even if
+such marks are included in the Original Work. Nothing in this License shall be
+interpreted to prohibit Licensor from licensing under different terms from this
+License any Original Work that Licensor otherwise would have a right to
+license.
+
+5) This section intentionally omitted.
+
+6) Attribution Rights. You must retain, in the Source Code of any Derivative
+Works that You create, all copyright, patent or trademark notices from the
+Source Code of the Original Work, as well as any notices of licensing and any
+descriptive text identified therein as an "Attribution Notice." You must cause
+the Source Code for any Derivative Works that You create to carry a prominent
+Attribution Notice reasonably calculated to inform recipients that You have
+modified the Original Work.
+
+7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that
+the copyright in and to the Original Work and the patent rights granted herein
+by Licensor are owned by the Licensor or are sublicensed to You under the terms
+of this License with the permission of the contributor(s) of those copyrights
+and patent rights. Except as expressly stated in the immediately proceeding
+sentence, the Original Work is provided under this License on an "AS IS" BASIS
+and WITHOUT WARRANTY, either express or implied, including, without limitation,
+the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.
+This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No
+license to Original Work is granted hereunder except under this disclaimer.
+
+8) Limitation of Liability. Under no circumstances and under no legal theory,
+whether in tort (including negligence), contract, or otherwise, shall the
+Licensor be liable to any person for any direct, indirect, special, incidental,
+or consequential damages of any character arising as a result of this License
+or the use of the Original Work including, without limitation, damages for loss
+of goodwill, work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses. This limitation of liability shall not
+apply to liability for death or personal injury resulting from Licensor's
+negligence to the extent applicable law prohibits such limitation. Some
+jurisdictions do not allow the exclusion or limitation of incidental or
+consequential damages, so this exclusion and limitation may not apply to You.
+
+9) Acceptance and Termination. If You distribute copies of the Original Work or
+a Derivative Work, You must make a reasonable effort under the circumstances to
+obtain the express assent of recipients to the terms of this License. Nothing
+else but this License (or another written agreement between Licensor and You)
+grants You permission to create Derivative Works based upon the Original Work
+or to exercise any of the rights granted in Section 1 herein, and any attempt
+to do so except under the terms of this License (or another written agreement
+between Licensor and You) is expressly prohibited by U.S. copyright law, the
+equivalent laws of other countries, and by international treaty. Therefore, by
+exercising any of the rights granted to You in Section 1 herein, You indicate
+Your acceptance of this License and all of its terms and conditions.
+
+10) Termination for Patent Action. This License shall terminate automatically
+and You may no longer exercise any of the rights granted to You by this License
+as of the date You commence an action, including a cross-claim or counterclaim,
+against Licensor or any licensee alleging that the Original Work infringes a
+patent. This termination provision shall not apply for an action alleging
+patent infringement by combinations of the Original Work with other software or
+hardware.
+
+11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this
+License may be brought only in the courts of a jurisdiction wherein the
+Licensor resides or in which Licensor conducts its primary business, and under
+the laws of that jurisdiction excluding its conflict-of-law provisions. The
+application of the United Nations Convention on Contracts for the International
+Sale of Goods is expressly excluded. Any use of the Original Work outside the
+scope of this License or after its termination shall be subject to the
+requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et
+seq., the equivalent laws of other countries, and international treaty. This
+section shall survive the termination of this License.
+
+12) Attorneys Fees. In any action to enforce the terms of this License or
+seeking damages relating thereto, the prevailing party shall be entitled to
+recover its costs and expenses, including, without limitation, reasonable
+attorneys' fees and costs incurred in connection with such action, including
+any appeal of such action. This section shall survive the termination of this
+License.
+
+13) Miscellaneous. This License represents the complete agreement concerning
+the subject matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent necessary to
+make it enforceable.
+
+14) Definition of "You" in This License. "You" throughout this License, whether
+in upper or lower case, means an individual or a legal entity exercising rights
+under, and complying with all of the terms of, this License. For legal
+entities, "You" includes any entity that controls, is controlled by, or is
+under common control with you. For purposes of this definition, "control" means
+(i) the power, direct or indirect, to cause the direction or management of such
+entity, whether by contract or otherwise, or (ii) ownership of fifty percent
+(50%) or more of the outstanding shares, or (iii) beneficial ownership of such
+entity.
+
+15) Right to Use. You may use the Original Work in all ways not otherwise
+restricted or conditioned by this License or by law, and Licensor promises not
+to interfere with or be responsible for such uses by You.
+
+This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.
+Permission is hereby granted to copy and distribute this license without
+modification. This license may not be modified without the express written
+permission of its copyright owner.
View
6 servers/python/MANIFEST.in
@@ -0,0 +1,6 @@
+include README
+include LICENSE
+include NOTICES
+include pycoweb
+recursive-include coweb *.py *.tmpl
+recursive-include js *
View
51 servers/python/NOTICES
@@ -0,0 +1,51 @@
+NOTICES AND INFORMATION
+=======================
+
+OpenCoweb
+
+The Open Cooperative Web Framework, herein referred to as OpenCoweb, license
+agreement and any applicable information on the web download page for OpenCoweb
+products refers Licensee to this file for details concerning notices applicable
+to code included in the products listed above ("the Program").
+
+Packaged builds of the Program located in coweb/js/release include the
+following third-party code that is not covered under the OpenCoweb License:
+
+- OpenAjax Hub
+- CometD
+- RequireJS
+
+The copyright and licenses of these third-party products are reproduced below.
+
+*******************************************************************************
+
+OpenAjax Hub 1.0
+
+Copyright (c) 2006-2008 OpenAjax Alliance
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
+applicable law or agreed to in writing, software distributed under the License
+is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the specific language
+governing permissions and limitations under the License.
+
+*******************************************************************************
+
+cometD 2.1.0 (cometd-javascript common)
+
+Copyright (c) 2005-2011 The Dojo Foundation. All rights reserved.
+
+Dual licensed under the Apache License 2.0 at
+http://www.apache.org/licenses/LICENSE-2.0 and the MIT license at
+http://www.opensource.org/licenses/mit-license.php.
+
+*******************************************************************************
+
+RequireJS 0.23.0
+
+Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
+
+Available via the MIT new BSD license at
+https://github.com/jrburke/requirejs/blob/0.23.0/LICENSE.
View
2 servers/python/README.txt → servers/python/README
@@ -9,7 +9,7 @@ To install the coweb server dependencies and minified coweb JavaScript into a vi
# activate it
source /some/path/bin/activate
# use pip to install coweb package and dependencies
- pip install -r requirements.txt
+ pip install .
# deploy a coweb server container and js libs
pycoweb deploy /some/path
# start the server
View
2 servers/python/requirements.txt
@@ -1,2 +0,0 @@
-.
-tornado>=1.1
View
30 servers/python/setup.py
@@ -6,14 +6,28 @@
Copyright (c) IBM Corporation 2008, 2011. All Rights Reserved.
'''
from distutils.core import setup
+import sys
import os
VERSION = '0.4'
+isSDist = len(sys.argv) > 1 and sys.argv[1] == 'sdist'
+srcDir = os.path.join(os.environ['PWD'], '../../js/release/coweb-%s' % VERSION)
+if os.path.isdir('js') or os.path.islink('js'):
+ srcDir = 'js'
+elif os.path.isdir(srcDir):
+ if isSDist:
+ try:
+ os.symlink(srcDir, 'js')
+ except OSError:
+ pass
+ srcDir = 'js'
+else:
+ raise RuntimeError('missing: js framework release v%s' % VERSION)
+
# collect js release as data files
cowebJSFiles = []
shareDir = 'share/coweb/js/coweb-%s' % VERSION
-srcDir = os.path.join(os.environ['PWD'], '../../js/release/coweb-%s' % VERSION)
for d, sd, fs in os.walk(srcDir):
for fn in fs:
sd = d[len(srcDir)+1:]
@@ -26,8 +40,9 @@
setup(name='OpenCoweb',
version=VERSION,
description='Tornado-based Python server for the Open Cooperative Web Framework',
- url='http://github.com/opencoweb',
+ url='http://opencoweb.org',
license='New BSD License / Academic Free License',
+ maintainer='Dojo Foundation',
packages=[
'coweb',
'coweb.access',
@@ -50,5 +65,12 @@
'templates/*.html'
]
},
- scripts=['pycoweb']
-)
+ scripts=['pycoweb'],
+ install_requires=['tornado>=1.1'],
+)
+
+if isSDist:
+ try:
+ os.remove('js')
+ except OSError:
+ pass

0 comments on commit 2df148e

Please sign in to comment.
Something went wrong with that request. Please try again.