source: trunk/docs/readme.txt @ 553

Last change on this file since 553 was 553, checked in by cito, 4 years ago

Require at least Python 2.6 for the trunk (5.x)

Support for even older Python versions is maintained in the 4.x branch.
The goal for 5.x is to be a single-source code for both Python 2 and 3,
and this is only possible by dropping support for Python 2.5 and older.
For instance, the new except .. as syntax works only since Python 2.6.
Otherwise we would need to use 2to3 and things would be very ugly.
Note that Python 2.6 is now 7 years old. We may want to drop Python 2.6
as well at some point if it turns out to be a burden.

  • Property svn:keywords set to Author Date Id Revision
File size: 7.1 KB
Line 
1==========================================
2PyGreSQL - Python interface for PostgreSQL
3==========================================
4
5--------------------
6PyGreSQL version 4.2
7--------------------
8
9.. meta::
10   :description: PyGreSQL - Python interface for PostgreSQL
11   :keywords: PyGreSQL, PostGreSQL, Python
12
13.. contents:: Contents
14
15
16Copyright notice
17================
18
19Written by D'Arcy J.M. Cain (darcy@druid.net)
20
21Based heavily on code written by Pascal Andre (andre@chimay.via.ecp.fr)
22
23Copyright (c) 1995, Pascal Andre
24
25Further modifications copyright (c) 1997-2008 by D'Arcy J.M. Cain
26(darcy@PyGreSQL.org)
27
28Further modifications copyright (c) 2009-2012 by the PyGreSQL team.
29
30Permission to use, copy, modify, and distribute this software and its
31documentation for any purpose, without fee, and without a written agreement
32is hereby granted, provided that the above copyright notice and this
33paragraph and the following two paragraphs appear in all copies.  In
34this license the term "AUTHORS" refers to anyone who has contributed code
35to PyGreSQL.
36
37IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
38SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
39ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
40AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
41
42THE AUTHORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED
43TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
44PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE
45AUTHORS HAVE NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
46ENHANCEMENTS, OR MODIFICATIONS.
47
48
49Introduction
50============
51
52**PostgreSQL** is a highly scalable, SQL compliant, open source
53object-relational database management system. With more than 15 years
54of development history, it is quickly becoming the de facto database
55for enterprise level open source solutions.
56Best of all, PostgreSQL's source code is available under the most liberal
57open source license: the BSD license.
58
59**Python** Python is an interpreted, interactive, object-oriented
60programming language. It is often compared to Tcl, Perl, Scheme or Java.
61Python combines remarkable power with very clear syntax. It has modules,
62classes, exceptions, very high level dynamic data types, and dynamic typing.
63There are interfaces to many system calls and libraries, as well as to
64various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules
65are easily written in C or C++. Python is also usable as an extension
66language for applications that need a programmable interface.
67The Python implementation is copyrighted but freely usable and distributable,
68even for commercial use.
69
70**PyGreSQL** is a Python module that interfaces to a PostgreSQL database.
71It embeds the PostgreSQL query library to allow easy use of the powerful
72PostgreSQL features from a Python script.
73
74PyGreSQL is developed and tested on a NetBSD system, but it should also
75run on most other platforms where PostgreSQL and Python is running.
76It is based on the PyGres95 code written by Pascal Andre (andre@chimay.via.ecp.fr).
77D'Arcy (darcy@druid.net) renamed it to PyGreSQL starting with
78version 2.0 and serves as the "BDFL" of PyGreSQL.
79
80The current version PyGreSQL 5.0 needs PostgreSQL 9.0 and Python 2.6 or above.
81
82
83Where to get ... ?
84==================
85
86Home sites of the different packages
87------------------------------------
88**Python**:
89  http://www.python.org
90
91**PostgreSQL**:
92  http://www.postgresql.org
93
94**PyGreSQL**:
95  http://www.pygresql.org
96
97Download PyGreSQL here
98----------------------
99The **released version of the source code** is available at
100  * http://pygresql.org/files/PyGreSQL.tgz
101You can also check the latest **pre-release version** at
102  * http://pygresql.org/files/PyGreSQL-beta.tgz
103A **Linux RPM** can be picked up from
104  * http://pygresql.org/files/pygresql.i386.rpm
105A **NetBSD package** is available in their pkgsrc collection
106  * ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/databases/py-postgresql/README.html
107A **FreeBSD package** is available in their ports collection
108  * http://www.freebsd.org/cgi/cvsweb.cgi/ports/databases/py-PyGreSQL/
109A **Win32 package** for various Python versions is available at
110  * http://pygresql.org/files/PyGreSQL-4.2.win32-py2.5.exe
111  * http://pygresql.org/files/PyGreSQL-4.2.win32-py2.6.exe
112  * http://pygresql.org/files/PyGreSQL-4.2.win32-py2.7.exe
113You can also find PyGreSQL on the **Python Package Index** at
114 * http://pypi.python.org/pypi/PyGreSQL/
115
116
117Distribution files
118==================
119
120========== =
121pgmodule.c the C Python module (_pg)
122pg.py      the "classic" PyGreSQL module
123pgdb.py    DB-SIG DB-API 2.0 compliant API wrapper for PygreSQL
124docs/      documentation directory
125
126           Contains: readme.txt, announce.txt, install.txt,
127           changelog.txt, future.txt, pg.txt and pgdb.txt.
128
129           All text files are in ReST format, so HTML versions
130           can be easily created with buildhtml.py from docutils.
131tutorial/  demos directory
132
133           Contains: basics.py, syscat.py, advanced.py and func.py.
134
135           The samples here have been taken from the
136           PostgreSQL manual and were used for module testing.
137           They demonstrate some PostgreSQL features.
138========== =
139
140
141Installation
142============
143You will find the installing instructions in
144`install.txt <install.html>`_.
145
146
147Information and support
148=======================
149
150For general information
151-----------------------
152**Python**:
153  http://www.python.org
154
155**PostgreSQL**:
156  http://www.postgresql.org
157
158**PyGreSQL**:
159  http://www.pygresql.org
160
161For support
162-----------
163**Python**:
164  see http://www.python.org/community/
165
166**PostgreSQL**:
167  see http://www.postgresql.org/support/
168
169**PyGreSQL**:
170  Contact the PyGreSQL mailing list
171  concerning PyGreSQL 2.0 and up.
172
173  If you would like to proposes changes, please join the
174  PyGreSQL mailing list and send context diffs there.
175
176  See https://mail.vex.net/mailman/listinfo.cgi/pygresql
177  to join the mailing list.
178
179Please note that messages to individual developers will generally not be
180answered directly.  All questions, comments and code changes must be
181submitted to the mailing list for peer review and archiving purposes.
182
183PyGreSQL programming information
184--------------------------------
185You may either choose to use the "classic" PyGreSQL interface
186provided by the `pg` module or else the newer DB-API 2.0
187compliant interface provided by the `pgdb` module.
188
189`DB-API 2.0 <http://www.python.org/dev/peps/pep-0249/>`_
190(Python Database API Specification v2.0)
191is a specification for connecting to databases (not only PostGreSQL)
192from Python that has been developed by the Python DB-SIG in 1999.
193
194The programming information is available in the files
195`pg.txt <pg.html>`_ and `pgdb.txt <pgdb.html>`_.
196
197Note that PyGreSQL is not thread-safe on the connection level. Therefore
198we recommend using `DBUtils <http://www.webwareforpython.org/DBUtils>`
199for multi-threaded environments, which supports both PyGreSQL interfaces.
200
201
202ChangeLog and Future
203====================
204The ChangeLog with past changes is in the file
205`changelog.txt <changelog.html>`_.
206
207A to do list and wish list is in the file
208`future.txt <future.html>`_.
Note: See TracBrowser for help on using the repository browser.