Cheetah 3.3.3.post1

2024-02-28 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.3.3.post1, the first post-release
of release 3.3.3 of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

CI:

  - GHActions: Build and publish wheels on Linux/aarch64.


What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.3.post1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.11.0

2023-11-11 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.11.0, the first stable release
of branch 3.11 of SQLObject.


What's new in SQLObject
===

Features


* Continue working on ``SQLRelatedJoin`` aliasing introduced in 3.10.2.
  When a table joins with itself calling
  ``relJoinCol.filter(thisClass.q.column)`` raises ``ValueError``
  hinting that an alias is required for filtering.

* Test that ``idType`` is either ``int`` or ``str``.

* Added ``sqlmeta.idSize``. This sets the size of integer column ``id``
  for MySQL and PostgreSQL. Allowed values are ``'TINY'``, ``'SMALL'``,
  ``'MEDIUM'``, ``'BIG'``, ``None``; default is ``None``. For Postgres
  mapped to ``smallserial``/``serial``/``bigserial``. For other backends
  it's currently ignored. Feature request by Meet Gujrathi at
  https://stackoverflow.com/q/77360075/7976758

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is a free and open-source (LGPL) Python object-relational
mapper.  Your database tables are described as classes, and rows are
instances of those classes.  SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of
DB API drivers: ``MySQLdb``, ``mysqlclient``, ``mysql-connector``,
``PyMySQL``, ``mariadb``), PostgreSQL (``psycopg2``, ``PyGreSQL``,
partially ``pg8000`` and ``py-postgresql``), SQLite (builtin ``sqlite``,
``pysqlite``); connections to other backends
- Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are less
debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Download:
https://pypi.org/project/SQLObject/3.11.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject

Mailing lists:
https://sourceforge.net/p/sqlobject/mailman/

Development:
http://sqlobject.org/devel/

Developer Guide:
http://sqlobject.org/DeveloperGuide.html


Example
===

Install::

  $ pip install sqlobject

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.10.3

2023-10-25 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.10.3, the 3rd bugfix release of branch
3.10 of SQLObject.


What's new in SQLObject
===

The contributors for this release are
Igor Yudytskiy and shuffle (github.com/shuffleyxf).
Thanks!

Bug fixes
-

* Relaxed aliasing in ``SQLRelatedJoin`` introduced in 3.10.2 - aliasing
  is required only when the table joins with itself. When there're two
  tables to join aliasing prevents filtering -- wrong SQL is generated
  in ``relJoinCol.filter(thisClass.q.column)``.

Drivers
---

* Fix(SQLiteConnection): Release connections from threads that are
  no longer active. This fixes memory leak in multithreaded programs
  in Windows.

  ``SQLite`` requires different connections per thread so
  ``SQLiteConnection`` creates and stores a connection per thread.
  When a thread finishes its connections should be closed.
  But if a program doesn't cooperate and doesn't close connections at
  the end of a thread SQLObject leaks memory as connection objects are
  stuck in ``SQLiteConnection``. On Linux the leak is negligible as
  Linux reuses thread IDs so new connections replace old ones and old
  connections are garbage collected. But Windows doesn't reuse thread
  IDs so old connections pile and never released. To fix the problem
  ``SQLiteConnection`` now enumerates threads and releases connections
  from non-existing threads.

* Dropped ``supersqlite``. It seems abandoned.
  The last version 0.0.78 was released in 2018.

Tests
-

* Run tests with Python 3.12.

CI
--

* GHActions: Ensure ``pip`` only if needed

  This is to work around a problem in conda with Python 3.7 -
  it brings in wrong version of ``setuptools`` incompatible with Python 3.7.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is a free and open-source (LGPL) Python object-relational
mapper.  Your database tables are described as classes, and rows are
instances of those classes.  SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of
DB API drivers: ``MySQLdb``, ``mysqlclient``, ``mysql-connector``,
``PyMySQL``, ``mariadb``), PostgreSQL (``psycopg2``, ``PyGreSQL``,
partially ``pg8000`` and ``py-postgresql``), SQLite (builtin ``sqlite``,
``pysqlite``); connections to other backends
- Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are less
debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Download:
https://pypi.org/project/SQLObject/3.10.3

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject

Mailing lists:
https://sourceforge.net/p/sqlobject/mailman/

Development:
http://sqlobject.org/devel/

Developer Guide:
http://sqlobject.org/DeveloperGuide.html


Example
===

Install::

  $ pip install sqlobject

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.3.3

2023-10-22 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.3.3, the fourth release
of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Minor features:

  - Protect ``import cgi`` in preparation to Python 3.13.

Tests:

  - Run tests with Python 3.12.

CI:

  - GHActions: Ensure ``pip`` only if needed

This is to work around a problem in conda with Python 3.7 -
it brings in wrong version of ``setuptools`` incompatible with Python 3.7.


What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.3

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.10.2

2023-08-09 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.10.2, a minor feature release
and the second bugfix release of branch 3.10 of SQLObject.


What's new in SQLObject
===

The contributor for this release is Igor Yudytskiy. Thanks!

Minor features
--

* Class ``Alias`` grows a method ``.select()`` to match ``SQLObject.select()``.

Bug fixes
-

* Fixed a bug in ``SQLRelatedJoin`` in the case where the table joins with
  itself; in the resulting SQL two instances of the table must use different
  aliases. Thanks to Igor Yudytskiy for providing an elaborated bug report.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is a free and open-source (LGPL) Python object-relational
mapper.  Your database tables are described as classes, and rows are
instances of those classes.  SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of
DB API drivers: ``MySQLdb``, ``mysqlclient``, ``mysql-connector``,
``PyMySQL``, ``mariadb``), PostgreSQL (``psycopg2``, ``PyGreSQL``,
partially ``pg8000`` and ``py-postgresql``), SQLite (builtin ``sqlite``,
``pysqlite``, partially ``supersqlite``); connections to other backends
- Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are less
debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Download:
https://pypi.org/project/SQLObject/3.10.2a0.dev20221222/

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject

Mailing lists:
https://sourceforge.net/p/sqlobject/mailman/

Development:
http://sqlobject.org/devel/

Developer Guide:
http://sqlobject.org/DeveloperGuide.html


Example
===

Install::

  $ pip install sqlobject

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.3.2

2023-08-08 Thread Oleg Broytman via Python-list
Hello!

I'm pleased to announce version 3.3.2, the 2nd bug-fix
of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

The contributor for this release is nate.k. Thanks!

Bug fixes:

  - Fixed printing to stdout in ``CheetahWrapper``.

CI:

   - CI(GHActions): Install all Python and PyPy versions from ``conda-forge``.


What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.2

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


CheetahTemplate 3.3.1

2022-12-25 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.3.1, the 1st bugfix release
of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Bug fixes:

  - Fixed ``ImportHooks`` under PyPy3.

Tests:

  - Run tests with PyPy3.

CI:

  - Use ``conda`` to install older Pythons

Ubuntu >= 22 and ``setup-python`` dropped Pythons < 3.7.
Use ``s-weigand/setup-conda`` instead of ``setup-python``.


What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.10.1

2022-12-22 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.10.1, the first minor feature release of
branch 3.10 of SQLObject.


What's new in SQLObject
===

Minor features
--

* Use ``module_loader.exec_module(module_loader.create_module())``
  instead of ``module_loader.load_module()`` when available.

Drivers
---

* Added ``mysql-connector-python``.

Tests
-

* Run tests with Python 3.11.

CI
--

* Ubuntu >= 22 and ``setup-python`` dropped Pythons < 3.7.
  Use ``conda`` via ``s-weigand/setup-conda`` instead of ``setup-python``
  to install older Pythons on Linux.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is a free and open-source (LGPL) Python object-relational
mapper.  Your database tables are described as classes, and rows are
instances of those classes.  SQLObject is meant to be easy to use and
quick to get started with.

SQLObject supports a number of backends: MySQL/MariaDB (with a number of
DB API drivers: ``MySQLdb``, ``mysqlclient``, ``mysql-connector``,
``PyMySQL``, ``mariadb``), PostgreSQL (``psycopg2``, ``PyGreSQL``,
partially ``pg8000`` and ``py-postgresql``), SQLite (builtin ``sqlite``,
``pysqlite``, partially ``supersqlite``); connections to other backends
- Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are less
debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Download:
https://pypi.org/project/SQLObject/3.10.1

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject

Mailing lists:
https://sourceforge.net/p/sqlobject/mailman/

Development:
http://sqlobject.org/devel/

Developer Guide:
http://sqlobject.org/DeveloperGuide.html


Example
===

Install::

  $ pip install sqlobject

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.3.0.post1

2022-11-26 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.3.0.post1, the 1st post release
of release 3.3.0 of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Nothing changed in the library code, no need to upgrade.

Tests:

  - Run tests with Python 3.11.

  - Fix DeprecationWarning: ``unittest.findTestCases()`` is deprecated. Use
``unittest.TestLoader.loadTestsFromModule()`` instead.

CI:

  - Publish wheels at Github Releases.

What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.0.post1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Cheetah 3.3.0

2022-10-10 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.3.0, the 1st release
of branch 3.3 of CheetahTemplate3.


What's new in CheetahTemplate3
==

The contributors for this release are:
N Protokowicz, Enzo Conty, Andrea Mennucci, Saiprasad Kale, odidev,
Pierre Ossman. Many thanks!

Great move:

  - PyPI has wrongfully classified project ``Cheetah3`` as "critical".
This puts a burden to use 2FA to manage the project at PyPI. To
avoid the burden the project is renamed to ``CT3`` at PyPI.
There will be no updates for ``Cheetah3``.
Sorry for the inconvenience!

Minor features:

  - Use relative imports everywhere.

Tests:

  - Run pure-python ``NameMapper`` tests in a separate process.

  - Fixed a bug in tests with pure-python ``NameMapper``.

  - Add Python 3.10 to ``tox.ini``.

CI:

  - Migrated to GitHub Actions.

Due to the absent of Python 3.4 at GH Actions tests are not run and
wheels are not built. Installation from sources should work.

Due to GH Actions lacking old compilers for w32/w64 releases for old
Python versions (currently 2.7) are packaged without compiled
_namemapper.pyd extension. Cheetah can be used without compiled
_namemapper.pyd extension. A pure-python replacement should work;
``Cheetah`` imports it automatically if the compiled extension is
not available.

  - Stop testing at Travis CI.

  - Stop testing at AppVeyor.


What is CheetahTemplate3


Cheetah3 is a free and open source (MIT) Python template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Download:
https://pypi.org/project/CT3/3.3.0

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah

Mailing lists:
https://sourceforge.net/p/cheetahtemplate/mailman/

Development:
https://github.com/CheetahTemplate3

Developer Guide:
https://cheetahtemplate.org/dev_guide/


Example
===

Install::

$ pip install CT3 # (or even "ct3")

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.10.0

2022-09-20 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.10.0, the first release of branch
3.10 of SQLObject.


What's new in SQLObject
===

Contributors for this release are
James Hudson, Juergen Gmach, Hugo van Kemenade.
Many thanks!

Features


* Allow connections in ``ConnectionHub`` to be strings.
  This allows to open a new connection in every thread.

* Add compatibility with ``Pendulum``.

Tests
-

* Run tests with Python 3.10.

CI
--

* GitHub Actions.

* Stop testing at Travis CI.

* Stop testing at AppVeyor.

Documentation
-

* DevGuide: source code must be pure ASCII.

* DevGuide: ``reStructuredText`` format for docstrings is recommended.

* DevGuide: de-facto good commit message format is required:
  subject/body/trailers.

* DevGuide: ``conventional commit`` format for commit message subject lines
  is recommended.

* DevGuide: ``Markdown`` format for commit message bodies is recommended.

* DevGuide: commit messages must be pure ASCII.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite;
connections to other backends - Firebird, Sybase, MSSQL
and MaxDB (also known as SAPDB) - are lesser debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.10.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


mimedecode 3.1.0

2021-05-23 Thread Oleg Broytman
  mimedecode

WHAT IS IT

   Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is good because it allows
us to use appropriate format/encoding/whatever. Sometimes, though, some
unification is desirable. For example, one may want to put mail messages
into an archive, make HTML indices, run search indexer, etc. In such
situations converting messages to text in one character set and skipping
some binary attachments is much desirable.

   Here is the solution - mimedecode.

   This is a program to decode MIME messages. The program expects one
input file (either on command line or on stdin) which is treated as an
RFC822 message, and decodes to stdout or an output file. If the file is
not an RFC822 message it is just copied to the output one-to-one. If the
file is a simple RFC822 message it is decoded as one part. If it is a
MIME message with multiple parts ("attachments") all parts are decoded.
Decoding can be controlled by command-line options.

   Think about said mail archive; for example, its maintainer wants to
put there only texts, convert PDF/Postscript to text, pass HTML and
images decoding base64 to html but leaving images encoded, and ignore
everything else. This is how it could be done:

   mimedecode -t application/pdf -t application/postscript -t text/plain -b 
text/html -B 'image/*' -i '*/*'


Version 3.1.0 (2021-05-23)

   Convert mimedecode.docbook to reST. Generate html/man/text
   using Sphinx.

   Replaced outdated and insecure `mktemp` with `NamedTemporaryFile`.

   Python 3.8, 3.9.


WHERE TO GET
   Home page: https://phdru.name/Software/Python/#mimedecode
git clone https://github.com/phdru/mimedecode.git
git clone https://git.phdru.name/mimedecode.git
git clone  git://git.phdru.name/mimedecode.git

   Requires: Python 2.7 or Python 3.4+, m_lib.defenc 1.0+.
   Tests require: tox, m_lib 3.1+.

   Recommends: configured mailcap database.

   Documentation: https://phdru.name/Software/Python/mimedecode.html
  (also included in the package in html, man and txt formats).


AUTHOR
   Oleg Broytman 

COPYRIGHT
   Copyright (C) 2001-2021 PhiloSoft Design.

LICENSE
   GPL

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.9.1

2021-02-27 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.9.1, the first minor feature release
of branch 3.9 of SQLObject.


What's new in SQLObject
===

Drivers
---

* Adapt to the latest ``pg8000``.

* Protect ``getuser()`` - it can raise ``ImportError`` on w32
  due to absent of ``pwd`` module.

Build
-

* Change URLs for ``oursql`` in ``extras_require`` in ``setup.py``.
  Provide separate URLs for Python 2.7 and 3.4+.

* Add ``mariadb`` in ``extras_require`` in ``setup.py``.

CI
--

* For tests with Python 3.4 run ``tox`` under Python 3.5.

Tests
-

* Refactor ``tox.ini``.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite;
connections to other backends - Firebird, Sybase, MSSQL
and MaxDB (also known as SAPDB) - are lesser debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.9.1

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah3 3.2.6.post1

2021-02-22 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.6.post1, the 1st post-release
for release 3.2.6 of branch 3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Improvement and refactoring in CI and tests with ``tox``.
There were no changes in the main code, there is no need to upgrade
unless you gonna run tests.

The contributors for this release are
Andrew J. Hesford and Victor Stinner.
Many thanks!

This is the first release that provide binary wheels for Python 3.9.

Tests:

   - Add Python 3.9 to ``tox.ini``.

   - Refactor ``tox.ini``.

CI:

  - Run tests with Python 3.9 at Travis and AppVeyor.

  - Run tests for Python 3.4 with ``tox`` under Python 3.5.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.6.post1

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.9.0

2020-12-15 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.9.0, the first release
of branch 3.9 of SQLObject.


What's new in SQLObject
===

Contributors for this release are:

+ Michael S. Root, Ameya Bapat - ``JSONCol``;

+ Jerry Nance - reported a bug with ``DateTime`` from ``Zope``.

Features


* Add ``JSONCol``: a universal json column that converts simple Python objects
  (None, bool, int, float, long, dict, list, str/unicode to/from JSON using
  json.dumps/loads. A subclass of StringCol. Requires ``VARCHAR``/``TEXT``
  columns at backends, doesn't work with ``JSON`` columns.

* Extend/fix support for ``DateTime`` from ``Zope``.

* Drop support for very old version of ``mxDateTime``
  without ``mx.`` namespace.

Drivers
---

* Support `mariadb <https://pypi.org/project/mariadb/>`_.

CI
--

* Run tests with Python 3.9 at Travis and AppVeyor.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

It currently supports MySQL, PostgreSQL and SQLite; connections to other
backends - Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB) - are
lesser debugged).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.9.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.8.1

2020-10-01 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.8.1, the first bugfix release of branch
3.8 of SQLObject.


What's new in SQLObject
===

The contributor for this release is Neil Muller.

Documentation
-

* Use conf.py options to exclude sqlmeta options.

Tests
-

* Fix ``PyGreSQL`` version for Python 3.4.

CI
--

* Run tests with Python 3.8 at AppVeyor.


For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.8.1a0.dev20191208/

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


CheetahTemplate 3.2.5

2020-05-16 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.5, a minor feature release
of branch 3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

The contributor for this release is Yegor Yefremov.

Build:

  - Install ``Cheetah3`` + ``markdown`` (used in ``Cheetah.Filters``)
using ``pip install cheetah3[filters]`` (or ``cheetah3[markdown]``).

CI:

  - Run tests with Python 3.8 at Travis CI.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.5

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.8.0

2019-12-07 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.8.0, the first stable release of branch
3.8 of SQLObject.


What's new in SQLObject
===

Features


* Add driver ``supersqlite``. Not all tests are passing
  so the driver isn't added to the list of default drivers.

Minor features
--

* Improve sqlrepr'ing ``ALL/ANY/SOME()``: always put the expression
  at the right side of the comparison operation.

Bug fixes
-

* Fixed a bug in cascade deletion/nullification.

* Fixed a bug in ``PostgresConnection.columnsFromSchema``:
  PostgreSQL 12 removed outdated catalog attribute
  ``pg_catalog.pg_attrdef.adsrc``.

* Fixed a bug working with microseconds in Time columns.

CI
--

* Run tests with Python 3.8 at Travis CI.

Contributors for this release are Andrew Trusty, Marco Sirabella and darix.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.8.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.2.4

2019-09-22 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.4, a bugfix release of branch
3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Minor features:

  - Import from ``collections`` for Python 2,
from ``collections.abc`` for Python 3.

Bug fixes:

  - Fixed infinite recursion in ``ImportManager`` on importing
module ``_bootlocale`` inside ``open()``.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.4

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.7.3

2019-09-22 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.7.3, a bugfix release of branch
3.7 of SQLObject.


What's new in SQLObject
===

Bug fixes
-

* Avoid excessive parentheses around ``ALL/ANY/SOME()``.

Tests
-

* Add tests for cascade deletion.

* Add tests for ``sqlbuilder.ALL/ANY/SOME()``.

* Fix calls to ``pytest.mark.skipif`` - make conditions bool instead of str.

* Fix module-level calls to ``pytest.mark.skip`` - add reasons.

* Fix escape sequences ``'\%'`` -> ``'\\%'``.

CI
--

* Reduce the number of virtual machines/containers:
  one OS, one DB, one python version, many drivers per VM.

* Fix sqlite test under Python 3.7+ at AppVeyor.

Contributors for this release are 

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.7.3

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [poliastro-dev] ANN: poliastro 0.13.0 released ????

2019-08-07 Thread Oleg Broytman
Can I ask you to remove python-announce from the list of addresses?
It's not a mailing list for discussions.

On Wed, Aug 07, 2019 at 06:16:43PM +0200, Samuel Leli??vre 
 wrote:
> Le mar. 6 ao??t 2019 ?? 08:33, Samuel Dupree  a ??crit 
> :
> 
> > Juan Luis Cano,
> >
> > When will poliastro ver. 0.13.0 become available from Anaconda? At the
> > time of this note, only ver. 0.12.0 is available.
> >
> > Lastly what is the recommended procedure to update poliastro from vers.
> > 0.12.0 to 0.13.0?
> >
> > Sam Dupree
> >
> 
> A pull request was automatically created by a bot:
> 
> https://github.com/conda-forge/poliastro-feedstock/pull/29
> 
> and Juan Luis merged it yesterday, so that the new version is
> available since yesterday, see the version badge on the README at
> 
> https://github.com/conda-forge/poliastro-feedstock
> 
> Clicking on that badge sends to:
> 
> https://anaconda.org/conda-forge/poliastro
> 
> which has the installation instructions.
> 
> Use `conda upgrade` instead of `conda install` if you want to upgrade.
> --
> Python-announce-list mailing list -- python-announce-l...@python.org
> To unsubscribe send an email to python-announce-list-le...@python.org
> https://mail.python.org/mailman3/lists/python-announce-list.python.org/
> 
> Support the Python Software Foundation:
> http://www.python.org/psf/donations/

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


CheetahTemplate 3.2.3

2019-05-10 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.3, the third bugfix release of branch
3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Bug fixes:

  - Fixed infinite recursion in ``ImportManager`` on importing
a builtin module.

Documentation:

  - The site https://cheetahtemplate.org/ is now served with HTTPS.
  - Updated docs regarding fixed tests.

Tests:

  - Removed ``unittest.main()`` calls from tests:
``python -m unittest discover -t Cheetah -s Cheetah/Tests -p '[A-Z]*.py'``
does it.
  - Fixed ``cheetah test`` command.
  - Fixed script ``buildandrun``: copy test templates
to the ``build/lib`` directory.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
https://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.3

News and changes:
https://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
#for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.7.2

2019-05-01 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.7.2, the second bugfix release of branch
3.7 of SQLObject.


What's new in SQLObject
===

Minor features
--

* Adapt Postgres exception handling to ``psycopg2`` version ``2.8``:
  in the recent ``psycopg2`` errors are in ``psycopg2.errors`` module.

* Removed RdbhostConnection: David Keeney and rdbhost seem to be unavailable
  since 2017.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.7.2

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


CheetahTemplate 3.2.2

2019-04-29 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.2, the second bugfix release of branch
3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Contributors for this release are
Pierre-Yves, Dan Vinakovsky, Nicolai Grodzitski.

Minor features:

  - Replaced outdated and insecure ``mktemp`` with ``mkstemp``.

Bug fixes:

  - Fixed bugs in ``TemplateCmdLineIface.py``: read binary pickles
from stdin and files.

Tests:

  - Use ``cgi.escape()`` for Python 2, ``html.escape()`` for Python 3.
  - Created tests for ``TemplateCmdLineIface``.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.2

News and changes:
http://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


CheetahTemplate 3.2.1

2019-03-19 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.1, the first bugfix release of branch
3.2 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Contributor for this release is Nicola Soranzo.

Minor features:

  - Changed LoadTemplate.loadTemplate{Module,Class}:
the loaded module's __name__ set to just the file name.
  - Use imp for Python 2, importlib for Python 3.

Bug fixes:

  - Fix a bug in LoadTemplate.loadTemplate{Module,Class}:
raise ImportError if the template was not found.

CI:

  - At Travis deploy wheels for macOS.
  - At AppVeyor deploy wheels directly to PyPI.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.4+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.org/project/Cheetah3/3.2.1/

News and changes:
http://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?
    
    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.7.0

2018-06-06 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.7.0, the first stable release of branch
3.7 of SQLObject.


What's new in SQLObject
===

Contributors for this release are Scott Stahl and Christophe Popov.

Features


* Add signals on commit and rollback; pull request by Scott Stahl.

Bug fixes
-

* Fix SSL-related parameters for MySQL-connector (connector uses
  a different param style). Bug reported by Christophe Popov.

Drivers
---

* Remove psycopg1. Driver ``psycopg`` is now just an alias for ``psycopg2``.

Tests
-

* Install psycopg2 from `psycopg2-binary`_ package.

.. _`psycopg2-binary`: https://pypi.org/project/psycopg2-binary/

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.org/project/SQLObject/3.7.0/

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
Oleg Broytmanhttps://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.1.0

2018-03-03 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.1.0, the first stable release of branch
3.1 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Contributors for this release is Mathias Stearn.

Features:

  - Fix Cheetah to work with PyPy. Pull request by Mathias Stearn.

Minor features:

  - Code cleanup: fix code style to satisfy flake8 linter.

Documentation:

  - Rename www directory to docs.

Tests:

  - Run pypy tests at AppVeyor.
  - Use remove-old-files.py from ppu to cleanup pip cache
at Travis and AppVeyor.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.3+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.python.org/pypi/Cheetah3/3.1.0

News and changes:
http://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 
'Hairy'}]

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.0.1

2018-02-27 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.0.1, the first bugfix release of branch
3.0 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Bug fixes:

  - Fix a minor bug in Compiler.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.3+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.python.org/pypi/Cheetah3/3.0.1

News and changes:
http://cheetahtemplate.org/news.html

StackOverflow:
https://stackoverflow.com/questions/tagged/cheetah


Example
===

Below is a simple example of some Cheetah code, as you can see it's practically
Python. You can import, inherit and define methods just like in a regular Python
module, since that's what your Cheetah templates are compiled to :) ::

#from Cheetah.Template import Template
#extends Template

#set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 'Hairy'

How are you feeling?

    #for $person in $people

$person['name'] is $person['mood']

#end for


Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.6.0

2018-02-24 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.6.0, the first stable release of branch
3.6 of SQLObject.


What's new in SQLObject
===

Contributor for this release is Michael S. Root.

Minor features
--

* Close cursors after using to free resources immediately
  instead of waiting for gc.

Bug fixes
-

* Fix for TypeError using selectBy on a BLOBCol. PR by Michael S. Root.

Drivers
---

* Extend support for oursql and Python 3 (requires our fork of the driver).

* Fix cursor.arraysize - pymssql doesn't have arraysize.

* Set timeout for ODBC with MSSQL.

* Fix _setAutoCommit for MSSQL.

Documentation
-

* Document extras that are available for installation.

Build
-

* Use ``python_version`` environment marker in ``setup.py`` to make
  ``install_requires`` and ``extras_require`` declarative. This makes
  the universal wheel truly universal.

* Use ``python_requires`` keyword in ``setup.py``.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.python.org/pypi/SQLObject/3.6.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Django-CheetahTemplate 0.2

2018-02-05 Thread Oleg Broytman
Hello! Django-CheetahTemplate version 0.2.

WHAT IS Django-CheetahTemplate

Django-CheetahTemplate is a Django template backend to use
CheetahTemplate3 in Django. It's a brand new project created for the new
custom Django template backends API.

It works with Python 2.7 or Python 3.4+, Django 1.11 and 2+,
CheetahTemplate3.


WHAT'S NEW

Version 0.2.0 (2018-02-05)

   The first public release.


WHERE TO GET
   Home Page: https://github.com/CheetahTemplate3/django-cheetahtemplate
   PyPI:  https://pypi.python.org/pypi/django-cheetahtemplate


AUTHOR
   Oleg Broytman 

COPYRIGHT
   Copyright (C) 2018 PhiloSoft Design.

LICENSE
   MIT

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


mimedecode 2.9

2017-12-12 Thread Oleg Broytman

  mimedecode

WHAT IS IT

   Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is good because it allows
us to use appropriate format/encoding/whatever. Sometimes, though, some
unification is desirable. For example, one may want to put mail messages
into an archive, make HTML indices, run search indexer, etc. In such
situations converting messages to text in one character set and skipping
some binary attachments is much desirable.

   Here is the solution - mimedecode.

   This is a program to decode MIME messages. The program expects one
input file (either on command line or on stdin) which is treated as an
RFC822 message, and decodes to stdout or an output file. If the file is
not an RFC822 message it is just copied to the output one-to-one. If the
file is a simple RFC822 message it is decoded as one part. If it is a
MIME message with multiple parts ("attachments") all parts are decoded.
Decoding can be controlled by command-line options.

   Think about said mail archive; for example, its maintainer wants to
put there only texts, convert PDF/Postscript to text, pass HTML and
images decoding base64 to html but leaving images encoded, and ignore
everything else. This is how it could be done:

   mimedecode -t application/pdf -t application/postscript -t text/plain -b 
text/html -B 'image/*' -i '*/*'


Version 2.9.0 (2017-12-12)

   Split mimedecode.py into mimedecode library and a small script.

   Made the library executable via ``python -m mimedecode``.

Version 2.8.0 (2017-11-03)

   Python 3.

   Stop supporting Python 2.6.


WHERE TO GET
   Home page: http://phdru.name/Software/Python/#mimedecode
git clone https://github.com/phdru/mimedecode.git
git clone http://git.phdru.name/mimedecode.git
git clone  git://git.phdru.name/mimedecode.git

   Requires: Python 2.7 or Python 3.3+, m_lib.defenc 1.0+.
   Tests require: tox, m_lib 3.1+.

   Recommends: configured mailcap database.

   Documentation: http://phdru.name/Software/Python/mimedecode.html
  (also included in the package in html, man and txt formats).


AUTHOR
   Oleg Broytman 

COPYRIGHT
   Copyright (C) 2001-2017 PhiloSoft Design.

LICENSE
   GPL

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.5.0

2017-11-15 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.5.0, the first stable release of branch
3.5 of SQLObject.


What's new in SQLObject
===

Contributors for this release are Shailesh Mungikar and Michael S. Root.

Minor features
--

* Add Python3 special methods for division to SQLExpression.
  Pull request by Michael S. Root.

Drivers
---

* Add support for `pg8000 <https://pypi.python.org/pypi/pg8000>`_
  PostgreSQL driver.

* Fix autoreconnect with pymysql driver. Contributed by Shailesh Mungikar.

Documentation
-

* Remove generated HTML from eggs/wheels (docs are installed into wrong
  place). Generated docs are still included in the source distribution.

Tests
-

* Add tests for PyGreSQL, py-postgresql and pg8000 at AppVeyor.

* Fixed bugs in py-postgresql at AppVeyor. SQLObject requires
  the latest version of the driver from our fork.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.python.org/pypi/SQLObject/3.5.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


mimedecode 2.8.0

2017-11-02 Thread Oleg Broytman
Hello!

mimedecode.py

WHAT IS IT

   Mail users, especially in non-English countries, often find that mail
messages arrived in different formats, with different content types, in
different encodings and charsets. Usually this is good because it allows us to
use appropriate format/encoding/whatever. Sometimes, though, some unification
is desirable. For example, one may want to put mail messages into an archive,
make HTML indices, run search indexer, etc. In such situations converting
messages to text in one character set and skipping some binary attachments is
much desirable.

   Here is the solution - mimedecode.py.

   This is a program to decode MIME messages. The program expects one input
file (either on command line or on stdin) which is treated as an RFC822
message, and decodes to stdout or an output file. If the file is not an RFC822
message it is just copied to the output one-to-one. If the file is a simple
RFC822 message it is decoded as one part. If it is a MIME message with multiple
parts ("attachments") all parts are decoded. Decoding can be controlled by
command-line options.


Version 2.8.0 (2017-11-03)

   Python 3.

   Stop supporting Python 2.6.

   Code cleanup: fixed flake8 errors and warnings.

   Pushed to GitHub. Tests at Travis.


WHERE TO GET
   Home page: http://phdru.name/Software/Python/#mimedecode
git clone https://github.com/phdru/mimedecode.git
git clone http://git.phdru.name/mimedecode.git
git clone  git://git.phdru.name/mimedecode.git

   Requires: Python 2.7 or Python 3.4+, m_lib.defenc 1.0+.
   Tests require: tox, m_lib 3.1+.

   Recommends: configured mailcap database.

   Documentation: http://phdru.name/Software/Python/mimedecode.html
  (also included in the package in html, man and txt formats).


AUTHOR
   Oleg Broytman 

COPYRIGHT
   Copyright (C) 2001-2017 PhiloSoft Design.

LICENSE
   GPL

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.4.0

2017-08-05 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.4.0, the first stable release of branch
3.4 of SQLObject.


What's new in SQLObject
===

Contributor for this release is Dr. Neil Muller.

Features


* Python 2.6 is no longer supported. The minimal supported version is
  Python 2.7.

Drivers (work in progress)
--

* Encode binary values for py-postgresql driver. This fixes the
  last remaining problems with the driver.

* Encode binary values for PyGreSQL driver using the same encoding as for
  py-postgresql driver. This fixes the last remaining problems with the driver.

  Our own encoding is needed because unescape_bytea(escape_bytea()) is not
  idempotent. See the comment for PQunescapeBytea at
  https://www.postgresql.org/docs/9.6/static/libpq-exec.html:

This conversion is not exactly the inverse of PQescapeBytea, because the
string is not expected to be "escaped" when received from PQgetvalue. In
particular this means there is no need for string quoting considerations.

* List all drivers in extras_require in setup.py.

Minor features
--

* Use base64.b64encode/b64decode instead of deprecated
  encodestring/decodestring.

Tests
-

* Fix a bug with sqlite-memory: rollback transaction and close connection.
  The solution was found by Dr. Neil Muller.

* Use remove-old-files.py from ppu to cleanup pip cache
  at Travis and AppVeyor.

* Add test_csvimport.py more as an example how to use load_csv
  from sqlobject.util.csvimport.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.python.org/pypi/SQLObject/3.4.0

News and changes:
http://sqlobject.org/News.html

StackOverflow:
https://stackoverflow.com/questions/tagged/sqlobject


Example
===

Create a simple class that wraps a table::

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ... fname = StringCol()
  ... mi = StringCol(length=1, default=None)
  ... lname = StringCol()
  ...
  >>> Person.createTable()

Use the object::

  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True

Queries::

  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.0

2017-05-07 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.0.0, the first stable release of branch
3.0 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Contributors for this release are Adam Karpierz and Jonathan Ross Rogers.

Major features:

  - !!!THIS RELEASE REQUIRES RECOMPILATION OF ALL COMPILED CHEETAH TEMPLATES!!!
  - Stop supporting Python older than 2.7.
  - Update code to work with Python 3.3+. Tested with 3.3, 3.4, 3.5 and 3.6.

Minor features:

  - Use '/usr/bin/env python' for scripts;
this allows eggs/wheels to be installed into virtual environments.

Bug fixes:

  - Fix a bug in multiple inheritance (#extend Parent1, Parent2).
Pull request by Jonathan Ross Rogers.
  - Fix bugs in pure-python NameMapper.py. Bugs reported by Noah Ingham,
patches by Adam Karpierz, tests by Oleg Broytman.

Tests:

  - Run tests at Travis (Linux) and AppVeyor (w32) with Python 2.7, 3.3, 3.4,
3.5 and 3.6; x86 and x64.
  - Fix a problem in Unicode tests - cleanup temporary files.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.3+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.python.org/pypi/Cheetah3/3.0.0

News and changes:
http://cheetahtemplate.org/news.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.3.0

2017-05-07 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.3.0, the first stable release of branch
3.3 of SQLObject.


What's new in SQLObject
===

Features


* Support for Python 2.6 is declared obsolete and will be removed
  in the next release.

Minor features
--

* Convert scripts repository to devscripts subdirectory.
  Some of thses scripts are version-dependent so it's better to have them
  in the main repo.

* Test for __nonzero__ under Python 2, __bool__ under Python 3 in BoolCol.

Drivers (work in progress)
--

* Add support for PyODBC and PyPyODBC (pure-python ODBC DB API driver) for
  MySQL, PostgreSQL and MS SQL. Driver names are ``pyodbc``, ``pypyodbc``
  or ``odbc`` (try ``pyodbc`` and ``pypyodbc``). There are some problems
  with pyodbc and many problems with pypyodbc.

Documentation
-

* Stop updating http://sqlobject.readthedocs.org/ - it's enough to have
  http://sqlobject.org/

Tests
-

* Run tests at Travis CI and AppVeyor with Python 3.6, x86 and x64.

* Stop running tests at Travis with Python 2.6.

* Stop running tests at AppVeyor with pymssql - too many timeouts and
  problems.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6, 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Download:
https://pypi.python.org/pypi/SQLObject/3.3.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Cheetah 3.0.0a1

2017-04-02 Thread Oleg Broytman
Hello! I'm happy to announce I revived development of Cheetah.
Unfortunately I have to fork the project.

I'm pleased to announce version 3.0.0a1, the first alpha of the upcoming
release of branch 3.0 of CheetahTemplate3.


What's new in CheetahTemplate3
==

Contributors for this release are Adam Karpierz and Jonathan Ross Rogers.

- !!!THIS RELEASE REQUIRES RECOMPILATION OF ALL COMPILED CHEETAH TEMPLATES!!!
- Stop supporting Python older than 2.7.
- Update code to work with Python 3.3+. Tested with 3.3, 3.4, 3.5 and 3.6.
- Run tests at Travis (Linux) and AppVeyor (w32) with Python 2.7, 3.3, 3.4,
  3.5 and 3.6; x86 and x64.
- Fix a bug in multiple inheritance (#extend Parent1, Parent2).
  Pull request by Jonathan Ross Rogers.


What is CheetahTemplate3


Cheetah3 is a free and open source template engine.
It's a fork of the original CheetahTemplate library.

Python 2.7 or 3.3+ is required.


Where is CheetahTemplate3
=

Site:
http://cheetahtemplate.org/

Development:
https://github.com/CheetahTemplate3

Download:
https://pypi.python.org/pypi/Cheetah3/3.0.0a1

News and changes:
http://cheetahtemplate.org/news.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.2.0

2017-03-11 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.2.0, the first stable release of branch
3.2 of SQLObject.


What's new in SQLObject
===

Contributor for this release is Neil Muller.

Minor features
--

* Drop table name from ``VACUUM`` command in SQLiteConnection: SQLite
  doesn't vacuum a single table and SQLite 3.15 uses the supplied name as
  the name of the attached database to vacuum.

* Remove ``driver`` keyword from RdbhostConnection as it allows one driver
  ``rdbhdb``.

* Add ``driver`` keyword for FirebirdConnection. Allowed values are 'fdb',
  'kinterbasdb' and 'pyfirebirdsql'. Default is to test 'fdb' and
  'kinterbasdb' in that order. pyfirebirdsql is supported but has problems.

* Add ``driver`` keyword for MySQLConnection. Allowed values are 'mysqldb',
  'connector', 'oursql' and 'pymysql'. Default is to test for mysqldb only.

* Add support for `MySQL Connector
  <https://pypi.python.org/pypi/mysql-connector>`_ (pure python; `binary
  packages <https://dev.mysql.com/doc/connector-python/en/>`_ are not at
  PyPI and hence are hard to install and test).

* Add support for `oursql <https://github.com/python-oursql/oursql>`_ MySQL
  driver (only Python 2.6 and 2.7 until oursql author fixes Python 3
  compatibility).

* Add support for `PyMySQL <https://github.com/PyMySQL/PyMySQL/>`_ - pure
  python mysql interface).

* Add parameter ``timeout`` for MSSQLConnection (usable only with pymssql
  driver); timeouts are in seconds.

* Remove deprecated ez_setup.py.

Drivers (work in progress)
--

* Extend support for PyGreSQL driver. There are still some problems.

* Add support for `py-postgresql
  <https://pypi.python.org/pypi/py-postgresql>`_ PostgreSQL driver. There
  are still problems with the driver.

* Add support for `pyfirebirdsql
  <https://pypi.python.org/pypi/firebirdsql>`_.There are still problems with
  the driver.

Bug fixes
-

* Fix MSSQLConnection.columnsFromSchema: remove `(` and `)` from default
  value.

* Fix MSSQLConnection and SybaseConnection: insert default values into a table
  with just one IDENTITY column.

* Remove excessive NULLs from ``CREATE TABLE`` for MSSQL/Sybase.

* Fix concatenation operator for MSSQL/Sybase (it's ``+``, not ``||``).

* Fix MSSQLConnection.server_version() under Py3 (decode version to str).

Documentation
-

* The docs are now generated with Sphinx.

* Move ``docs/LICENSE`` to the top-level directory so that Github
  recognizes it.

Tests
-

* Rename ``py.test`` -> ``pytest`` in tests and docs.

* Great Renaming: fix ``pytest`` warnings by renaming ``TestXXX`` classes
  to ``SOTestXXX`` to prevent ``pytest`` to recognize them as test classes.

* Fix ``pytest`` warnings by converting yield tests to plain calls: yield
  tests were deprecated in ``pytest``.

* Tests are now run at CIs with Python 3.5.

* Drop ``Circle CI``.

* Run at Travis CI tests with Firebird backend (server version 2.5;
  drivers fdb and firebirdsql). There are problems with tests.

* Run tests at AppVeyor for windows testing. Run tests with MS SQL,
  MySQL, Postgres and SQLite backends; use Python 2.7, 3.4 and 3.5,
  x86 and x64. There are problems with MS SQL and MySQL.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6, 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/3.2.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Announcement: TLSv1.2 will become mandatory in the future for Python.org Sites

2017-01-10 Thread Oleg Broytman
On Tue, Jan 10, 2017 at 08:27:21AM -0500, Donald Stufft  
wrote:
> python3 -c "import urllib.request,json; 
> print(json.loads(urllib.request.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"

Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3.4/json/__init__.py", line 312, in loads
s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'

   Fix:

$ python3 -c "import urllib.request,json; 
print(json.loads(urllib.request.urlopen('https://www.howsmyssl.com/a/check').read().decode('ascii'))['tls_version'])"

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.1.0

2016-08-16 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.1.0, the first stable release of branch
3.1 of SQLObject.


What's new in SQLObject
===

Features


* Add UuidCol.

* Add JsonbCol. Only for PostgreSQL.
  Requires psycopg2 >= 2.5.4 and PostgreSQL >= 9.2.

* Add JSONCol, a universal json column.

* For Python >= 3.4 minimal FormEncode version is now 1.3.1.

* If mxDateTime is in use, convert timedelta (returned by MySQL) to
  mxDateTime.Time.

Documentation
-

* Developer's Guide extended to explain SQLObject architecture and how
  to create a new column type.

* Fix URLs that can be found; remove missing links.

* Rename reStructuredText files from *.txt to *.rst.

Source code
---

* Fix all `import *` using https://github.com/zestyping/star-destroyer.

Tests
-

* Tests are now run at Circle CI.

* Use pytest-cov for test coverage. Report test coverage
  via coveralls.io and codecov.io.

* Install mxDateTime to run date/time tests with it.

Contributor for this release is Lutz Steinborn.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6, 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/3.1.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.0.0

2016-06-01 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.0.0, the first stable release of branch
3.0 of SQLObject.


What's new in SQLObject
===

Features


* Support for Python 2 and Python 3 with one codebase!
  (Python version >= 3.4 currently required.)

Minor features
--

* PyDispatcher (>=2.0.4) was made an external dependency.

Development
---

* Source code was made flake8-clean.

Documentation
-

* Documentation is published at http://sqlobject.readthedocs.org/ in
  Sphinx format.

Contributors for this release are Ian Cordasco, Neil Muller,
Lukasz Dobrzanski, Gregor Horvath, Nathan Edwards.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6, 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/3.0.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
     Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 2.2

2016-05-08 Thread Oleg Broytman
Hello!

I'm pleased to announce version 2.2.0, the first stable release of branch
2.2 of SQLObject.


What's new in SQLObject
===

Features & Interface


* Add function col.use_microseconds(True/False). Default is to use
  microseconds (True).

* For MSSQL use datetime2(6) and time(6) columns.

* Columns for ForeignKey are created using idType of the referenced
  table.

Minor features
--

* Add sqlbuilder.CONCAT to generate concatenation command (either using
  function CONCAT() or '||' operator).

* Minor refactoring to pave the way to Python 3.

* Document MSSQL server versions.

Bugfixes


* Fix a bug: mxDateTime doesn't support microseconds; %s in mxDateTime
  format means ticks.

Tests
-

* Speedup SQLite connections in tests.

* Added new test help setupCyclicClasses to setup classes with mutual
  references.

Contributors for this release are Andrew Ziem and Nathan Edwards.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/2.2.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 3.0.0a1

2015-03-27 Thread Oleg Broytman
Hello!

I'm pleased to announce version 3.0.0a1, the first alpha of the upcoming
release of branch 3.0 of SQLObject.


What's new in SQLObject
===

Features


* Support for Python 2 and Python 3 with one codebase!
  (Python version >= 3.4 currently required.)

Minor features
--

* Use fdb adapter for Firebird.

* PyDispatcher (>=2.0.4) was made an external dependency.

Development
---

* Source code was made flake8-clean.

Documentation
-

* Documentation is published at http://sqlobject.readthedocs.org/ in
  Sphinx format.

Contributors for this release are Ian Cordasco, Neil Muller,
Lukasz Dobrzanski, Gregor Horvath.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6, 2.7 or 3.4+ is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/3.0.0a1dev-20150327

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
     Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 2.1.2 and 1.7.5

2015-03-14 Thread Oleg Broytman
Hello!

I'm pleased to announce versions 2.1.2 and 1.7.5, minor feature releases of
of SQLObject.


What's new in SQLObject
===

* Use fdb adapter for Firebird.

Contributor for this release is Neil Muller.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/2.1.2
https://pypi.python.org/pypi/SQLObject/1.7.5

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 2.1.1 and 1.7.4

2015-03-09 Thread Oleg Broytman
Hello!

I'm pleased to announce minor bugfix releases 2.1.1 and 1.7.4.


What's new in SQLObject
===

* Minor fix in PostgresConnection: close the cursor and connection
  in _createOrDropDatabase even after an error.

Contributor for this release is Gregor Horvath.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/2.1.1
https://pypi.python.org/pypi/SQLObject/1.7.4

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 2.1.0

2015-01-06 Thread Oleg Broytman
Hello!

I'm pleased to announce version 2.1.0, the first stable release of branch
2.1 of SQLObject.


What's new in SQLObject
===

Minor features
--

* In queries generated with SQLObject's tables columns are sorted in the
  order they are declared in the table.

* In queries generated with sqlbuilder's Insert/Update, if values are
  passed using dictionaries, columns are sorted alphabetically.

* Tables in SELECT...FROM clause are sorted alphabetically.

* MySQLConnection, PostgresConnection and SQLiteConnection have got
  a new method listDatabases() that lists databases in the connection
  and returns a list of names.

* MySQLConnection, PostgresConnection and SQLiteConnection have got
  a new method listTables() that returns a list of table names in the database.

Contributor for this release is Ian Cordasco.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/2.1.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 2.0

2014-12-20 Thread Oleg Broytman
Hello!

I'm pleased to announce version 2.0.0, the first stable release of branch
2.0 of SQLObject.


What's new in SQLObject
===

Features & Interface


* DateTimeCol and TimeCol can read and write values with microseconds.

  WARNING: microseconds are supported by MariaDB since version 5.3.0 and
  by MySQL since version 5.6.4, and even these versions require special
  handling: columns to store microseconds have to be declared with
  precision 6: TIME(6), DATETIME(6), TIMESTAMP(6). SQLObject does the
  right thing when creating a new database but existing databases have
  to be changed: run something like
  ``ALTER TABLE name MODIFY COLUMN col TIME(6)`` for every column that
  you want to store microseconds.

  WARNING: backward compatibility problem! Date/Time columns created
  with microseconds cannot be read back from SQLite databases (and
  perhaps other backends) with versions of SQLObject older than 1.7.

Minor features
--

* PostgresConnection, when used with fromDatabase=True, sets alternateID
  for unique columns.

* Extend sdist: include everything (even generated html)
  into source distribution.

* Extend setup.py: include docs and tests into the egg.

Development
---

* Development was switched from Subversion to git.

Documentation
-

* Old news were restored back to version 0.2.1.

* News.txt was split into 5 small files.

Contributors for this release are Andrew Trusty and Jared Jennings.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/2.0.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.7.3

2014-12-18 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.7.3, a release with minor
documentation update of branch 1.7 of SQLObject.


What's new in SQLObject
===

* Extend setup.py: include docs and tests into the egg.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).

Python 2.6 or 2.7 is required.


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.7.3

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.7.2

2014-12-14 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.7.2, a bugfix release of branch
1.7 of SQLObject.


What's new in SQLObject
===

* Fix a bug: zero-pad microseconds on the right, not on the left; 0.0835
  seconds means 83500 microseconds.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.7.2

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.7.0

2014-12-09 Thread Oleg Broytman
  To: Python Announce Mailing List
To: python-list@python.org (Python Mailing List)

Hello!

I'm pleased to announce version 1.7.0, the first stable release of branch
1.7 of SQLObject.


What's new in SQLObject
===

* Python 2.5 is no longer supported. The minimal supported version is
  Python 2.6.

* DateTimeCol and TimeCol can read values with microseconds (created by
  SQLObject 2.0) but do not write microseconds back.

* Upgrade ez_setup to 2.2.

* Adapt duplicate error message strings for SQLite 3.8.

* Allow unicode in .orderBy(u'-column').

* Fix a minor bug in MSSQLConnection: do not override callable server_version
  with a non-callable.

Contributors for this release are Geoffrey Wossum, Neil Muller and
Andrew Trusty.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.7.0

News and changes:
http://sqlobject.org/News.html

Oleg.
--
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.

--- SoupGate-Win32 v1.05
 * Origin: nntp.gatew...@.piz.noip.me> (1:249/999)
--- Synchronet 3.15b-Win32 NewsLink 1.92
SpaceSST BBS Usenet <> Fidonet Gateway
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.7.0

2014-12-08 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.7.0, the first stable release of branch
1.7 of SQLObject.


What's new in SQLObject
===

* Python 2.5 is no longer supported. The minimal supported version is
  Python 2.6.

* DateTimeCol and TimeCol can read values with microseconds (created by
  SQLObject 2.0) but do not write microseconds back.

* Upgrade ez_setup to 2.2.

* Adapt duplicate error message strings for SQLite 3.8.

* Allow unicode in .orderBy(u'-column').

* Fix a minor bug in MSSQLConnection: do not override callable server_version
  with a non-callable.

Contributors for this release are Geoffrey Wossum, Neil Muller and
Andrew Trusty.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.7.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.6.1

2014-10-26 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.6.1, the first bugfix release of branch
1.6 of SQLObject.


What's new in SQLObject
===

* Allow unicode in .orderBy(u'-column').

Contributor for this release is Andrew Trusty.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.6.1

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.5.2

2014-04-13 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.5.2, the second bugfix release of branch
1.5 of SQLObject.


What's new in SQLObject
===

* Adapt duplicate error message strings for SQLite 3.8.

Contributor for this release is Neil Muller.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.5.2

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.5.1

2013-12-15 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.5.1, the first bugfix release of branch
1.5 of SQLObject.


What's new in SQLObject
===

* SQLiteConnection.close() now closes and reopens a connection
  to in-memory database.

Contributor for this release is Maciej (Matchek) Blizinski.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.5.1

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
https://mail.python.org/mailman/listinfo/python-list


SQLObject 1.3.3 and 1.4.1

2013-05-27 Thread Oleg Broytman
Hello!

I'm pleased to announce bugfix releases 1.3.3 and 1.4.1.


What's new in SQLObject
===

* Fixed bugs in pickling and unpickling (remove/restore a weak proxy to self,
  fixed cache handling).

* Added an example of using SQLObject with web.py to the links page.

Contributors for this release are Andrew Trusty and Rhubarb Sin.

For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.3.3
https://pypi.python.org/pypi/SQLObject/1.4.1

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.4.0

2013-05-18 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.4.0, the first stable release of branch
1.4 of SQLObject.


What's new in SQLObject
===

Features & Interface


* Support for PostgreSQL 8.1 is dropped. The minimal supported version of
  PostgreSQL is 8.2 now.

* Optimization in PostgresConnection: use INSERT...RETURNING id
  to get the autoincremented id in one query instead of two
  (INSERT + SELECT id).

* Changed the way to get if the table has identity in MS SQL.

* NCHAR/NVARCHAR and N''-quoted strings for MS SQL.

Contributors for this release are Ken Lalonde and Andrew Ziem.


For a more complete list, please see the news:
http://sqlobject.org/News.html


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
https://pypi.python.org/pypi/SQLObject/1.4.0

News and changes:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.3.2 and 1.2.4

2012-10-20 Thread Oleg Broytman
Hello!

I'm pleased to announce versions 1.3 2 and 1.2.4, minor bugfix releases
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.3.2
http://pypi.python.org/pypi/SQLObject/1.2.4

News and changes:
http://sqlobject.org/News.html


What's New
==

* Fixed a bug in sqlbuilder.Select.filter - removed comparison with
  SQLTrueClause.

* Neil Muller fixed a number of tests.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.3.1

2012-05-25 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.3.1, the first bug-fix release of branch
1.3 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.3.1

News and changes:
http://sqlobject.org/News.html


What's New
==

* Fixed a minor bug in PostgreSQL introspection: VIEWs don't have
  PRIMARY KEYs - use sqlmeta.idName as the key.

* Fixed a bug in cache handling while unpickling.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
     Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: A Crypto Juniper $9$ secrets library

2012-03-05 Thread Oleg Broytman
Hello!

On Sun, Mar 04, 2012 at 10:16:05PM +0100, Julio G?mez wrote:
> I have developed a Python library which encrypt/decrypt Juniper $9$ secrets.

   Thank you and welcome to the community!

> I would like it is part of the common Python libraries and be able to
> install it through APT, YUM, RPM... depending on the system.
[skip]
> Could you tell me the process I have to follow to publish the library?

   Let me give you some advice. First, there is Python Package Index -
http://pypi.python.org/pypi - a central repository of python software.
On the first page you can find all necessary information - how to
register a user, how to register a package, how to register a release.
   The site also provides file hosting service so you can upload you
releases. But you can host anywhere and only publish links to your
preferred hosting. Some people just publish links to their mercurial or
git repositories.
   Documentation uploaded to the site will be published at
http://packages.python.org/ .

   It is also very important to send good release announcements. Please
read the following introductory articles:
http://en.wikipedia.org/wiki/Announcement_%28computing%29
http://perlbuzz.com/2009/03/how-to-write-an-announcement.html
   Read the archives of the python announcements mailing list:
http://mail.python.org/pipermail/python-announce-list/ or
http://groups.google.com/group/comp.lang.python.announce/topics

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.2.2

2012-03-01 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.2.2, a bugfix release of branch
1.2 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.2.2

News and changes:
http://sqlobject.org/News.html


What's New
==

* A bug was fixed in SQLiteConnection - clear _threadPool on close().

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.2.1

2011-12-04 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.2.1, the first stable release of branch
1.2 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.2.1

News and changes:
http://sqlobject.org/News.html


What's New
==

* A bug was fixed in handling ``modulo`` operator - SQLite implements
  only ``%``, MySQL - only ``MOD()``, PostgreSQL implements both.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.2.0

2011-11-20 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.2.0, the first stable release of branch
1.2 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.2.0

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* Strings are treated specially in Select to allow
  Select(['id, 'name'], where='value = 42'). Update allows a string in
  WHERE.

* ForeignKey('Table', refColumn='refcol_id') to allow ForeignKey to
  point to a non-id column; the referred column must be a unique integer
  column.

* delColumn now accepts a ForeignKey's name without 'ID'.

* Support for PostgreSQL 7.* is dropped. The minimal supported version of
  PostgreSQL is 8.1 now.

* Quoting rules changed for PostgreSQL: SQLObject uses E'' escape string
  if the string contains characters escaped with backslash.

* A bug caused by psycopg2 recently added a new boolean not callable
  autocommit attribute was fixed.

* sqlobject.__doc__ and main.__doc__ no longer contain version number.
  Use sqlobject.version or version_info.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.1.3

2011-08-30 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.1.3, a bugfix release of branch
1.1 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.1.3

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* Fixed a bug with Postgres - add quotes in "SET client_encoding" query.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.1.2

2011-08-08 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.1.2, a bugfix release of branch
1.1 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/1.1.2

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* A bug was fixed in SelectResults slicing that prevented to slice a
  slice (my_results[:20][1:5]).

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.1.0

2011-06-20 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.1.0, the first stable release of branch
1.1 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/1.1.0

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* SelectResults (returned from .select()) is allowed in IN(column, list).

* A different workaround is used in SQLiteConnection to prevent PySQLite
  from converting strings to unicode - in the case of a registered text
  conversion function PySQLite silently converts empty strings to Nones;
  now SQLObject uses text_factory instead and properly returns empty
  strings.

* It is now possible to declare one encoding for all UnicodeCol's per
  table (as sqlmeta.dbEncoding) or per connection (as connection.dbEncoding).
  Default (if dbEncoding is found neither in column nor in table nor in
  connection) is 'utf-8'.

Source code and internals
-

* Decorators @classmethod and @staticmethod are used everywhere.

* All 'mydict.has_key(name)' checks were replaced with 'name in mydict'.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.0.1

2011-05-30 Thread Oleg Broytman
Hello!

I'm pleased to announce version 1.0.1, a bugfix release of branch 1.0
of SQLObject.



What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/1.0.1

News and changes:
http://sqlobject.org/News.html


What's New
==

* A syntax incompatibility was fixed in SQLiteConnection that prevented
  SQLObject to be used with Python 2.4.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 1.0.0

2011-03-28 Thread Oleg Broytman
Hello!

I'm really happy to announce SQLObject version 1.0.0!


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/1.0.0

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* Major API change: DB URI parser was changed to use urllib.split*() and
  unquote(). This means any username/password/path are allowed in DB
  URIs if they are properly %-encoded, and DB URIs are automatically
  unquoted.

* A new module ``__version__.py`` was added. New variables ``version``
  (string) and ``version_info`` (5-tuple: major, minor, micro, release
  level, serial) are imported into ``sqlobject`` namespace.

* In SQLite, id columns are made AUTOINCREMENT.

* Parameter ``backend`` in DB URI is no longer supported, use parameter
  ``driver``.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.15.1

2011-03-22 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.15.1, a bugfix release of branch 0.15
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.15.1

News and changes:
http://sqlobject.org/News.html


What's New
==

* A bug was fixed in MSSQLConnection.

* A minor bug was fixed in sqlbuilder.Union.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phdru.name/p...@phdru.name
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.15.0

2010-12-06 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.15.0, the first stable release of branch
0.15 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.15.0

News and changes:
http://sqlobject.org/News.html


What's New
==

* Major API change: all signals are sent with the instance (or the class)
  as the first parameter. The following signals were changed:
  RowCreateSignal, RowCreatedSignal, DeleteColumnSignal.

* Major API change: post-processing functions for all signals are called
  with the instance as the first parameter. The following signals were
  changed: RowUpdatedSignal, RowDestroySignal, RowDestroyedSignal.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


Torrent VFS for Midnight Commander

2010-11-11 Thread Oleg Broytman
Torrent Virtual FileSystem for Midnight Commander


WHAT IS IT
   View files, directories and meta information from a torrent metafile in
Midnight Commander.


WHAT'S NEW in version 1.0.0 (2010-11-11)
   Initial release.


WHERE TO GET
   Master site: http://phd.pp.ru/Software/mc/

   Mirrors: http://phd.by.ru/Software/mc/
   http://phd.webhost.ru/Software/mc/


AUTHOR
   Oleg Broytman 

COPYRIGHT
   Copyright (C) 2010 PhiloSoft Design

LICENSE
   GPL

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.14.1

2010-10-15 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.14.1, a minor bugfix release of branch
0.14 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/0.14.1

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.14.0
-

* A bug was fixed in a subtle case when a per-instance connection is not
  passed to validators.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.13.1

2010-10-15 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.13.1, a minor bugfix release of branch
0.13 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/0.13.1

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.13.0
-

* A bug was fixed in a subtle case when a per-instance connection is not
  passed to validators.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.14.0

2010-10-10 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.14.0, the first stable release of branch
0.14 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://pypi.python.org/pypi/SQLObject/0.14.0

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.13
---

Features & Interface


* The lists of columns/indices/joins are now sorted according to the order
  of declaration.

* ``validator2`` was added to all columns; it is inserted at the beginning
  of the list of validators, i.e. its ``from_python()`` method is called
  first, ``to_python()`` is called last, after all validators in the list.

* SQLiteConnection's parameter ``use_table_info`` became boolean with default
  value True; this means the default schema parser is now based on ``PRAGMA
  table_info()``.

* Major API change: attribute 'dirty' was moved to sqlmeta.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.13.0

2010-08-11 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.13.0, the first stable release of branch
0.13 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.13.0

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.12
---

Features & Interface


* SQLObject instances that don't have a per-instance connection can be
  pickled and unpickled.

* Validators became stricter: StringCol and UnicodeCol now accept only str,
  unicode or an instance of a class that implements __unicode__ (but not
  __str__ because every object has a __str__ method); BoolCol accepts only
  bool or int or an instance of a class that implements __nonzero__; IntCol
  accepts int, long or an instance of a class that implements __int__ or
  __long__; FloatCol accepts float, int, long or an instance of a class
  that implements __float__, __int__ or __long__.

* Added a connection class for rdbhost.com (commercial Postgres-over-Web
  service).

Small Features
--

* Added TimedeltaCol; currently it's only implemented on PostgreSQL as an
  INTERVAL type.

* Do not pollute the base sqlmeta class to allow Style to set idName. In
  the case of inherited idName inherited value takes precedence; to allow
  Style to set idName reset inherited idName to None.

* Better handling of circular dependencies in sqlobject-admin -
  do not include the class in the list of other classes.

* Renamed db_encoding to dbEncoding in UnicodeStringValidator.

* A new parameter 'sslmode' was added to PostgresConnection.

* Removed SQLValidator - its attemptConvert was never called because in
  FormEncode it's named attempt_convert.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.12.4

2010-05-05 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.12.4, a minor bugfix release of branch 0.12
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.12.4

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.12.3
-

* Bugs were fixed in calling from_python().

* A bug was fixed in SQLiteConnection.columnsFromSchema(): pass None as
  size/precision to DecimalCol; DecimalCol doesn't allow default values (to
  force user to pass meaningful values); but columnsFromSchema() doesn't
  implement proper parsing of column details.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.11.6

2010-05-05 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.11.6, a minor bugfix release of 0.11 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.11.6

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.11.5
-

* A bug was fixed in SQLiteConnection.columnsFromSchema(): pass None as
  size/precision to DecimalCol; DecimalCol doesn't allow default values (to
  force user to pass meaningful values); but columnsFromSchema() doesn't
  implement proper parsing of column details.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.12.3

2010-04-11 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.12.3, a minor bugfix release of branch 0.12
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.12.3

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.12.2
-

* Fixed a bug in replacing _connection in a case when no previous
  _connection has been set.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.11.5

2010-04-11 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.11.5, a minor bugfix release of 0.11 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.11.5

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.11.4
-

* Fixed a bug in replacing _connection in a case when no previous
  _connection has been set.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.11.4

2010-03-04 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.11.4, a minor bugfix release of 0.11 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.11.4

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.11.3
-

* Fixed a bug in inheritance - if creation of the row failed and if the
  connection is not a transaction and is in autocommit mode - remove
  parent row(s).

* Do not set _perConnection flag if get() or _init() is passed the same
  connection; this is often the case with select().

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.12.2

2010-03-04 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.12.2, a bugfix release of branch 0.12
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.12.2

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.12.1
-

* Fixed a bug in inheritance - if creation of the row failed and if the
  connection is not a transaction and is in autocommit mode - remove
  parent row(s).

* Do not set _perConnection flag if get() or _init() is passed the same
  connection; this is often the case with select().

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.12.1

2010-01-08 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.12.1, a bugfix release of branch 0.12
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.12.1

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.12.0
-

* The cache culling algorithm was enhanced to eliminate memory leaks by
  removing references to dead objects; tested on a website that runs around
  4 million requests a day.

* Fixed a bug in col.py and dbconnection.py - if dbEncoding is None suppose
  it's 'ascii'.

* Fixed three bugs in PostgresConnection.

* Fixed a bug in FirebirdConnection.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.11.3

2010-01-08 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.11.3, a minor bugfix release of 0.11 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.11.3

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.11.2
-

* The cache culling algorithm was enhanced to eliminate memory leaks by
  removing references to dead objects; tested on a website that runs around
  4 million requests a day.

* Fixed a bug in col.py and dbconnection.py - if dbEncoding is None suppose
  it's 'ascii'.

* Fixed a bug in FirebirdConnection.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.12.0

2009-10-20 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.12.0, the first stable release of
branch 0.12 of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.12.0

News and changes:
http://sqlobject.org/News.html


What's New
==

Features & Interface


* .selectBy(), .deleteBy() and .by*() methods pass all values through
  .from_python(), not only unicode.

* The user can choose a DB API driver for SQLite by using a "backend"
  parameter in DB URI or SQLiteConnection that can be a comma-separated
  list of backend names. Possible backends are: "pysqlite2" (alias
  "sqlite2"), "sqlite3", "sqlite" (alias "sqlite1"). Default is to test
  pysqlite2, sqlite3 and sqlite in that order.

* The user can choose a DB API driver for PostgreSQL by using a "backend"
  parameter in DB URI or PostgresConnection that can be a comma-separated
  list of backend names. Possible backends are: "psycopg2", "psycopg1",
  "psycopg" (tries psycopg2 and psycopg1), "pygresql". Default is
  "psycopg".
  WARNING: API change! PostgresConnection's parameter
  "usePygresql" is now replaced with "backend=pygresql".

* The user can choose a DB API driver for MSSQL by using a "backend"
  parameter in DB URI or MSSQLConnection that can be a comma-separated list
  of backend names. Possible backends are: "adodb" (alias "adodbapi") and
  "pymssql". Default is to test adodbapi and pymssql in that order.

* alternateMethodName is defined for all unique fields, not only alternateID;
  this makes SQLObject create .by*() methods for all unique fields.

* SET client_encoding for PostgreSQL to the value of "charset" parameter
  in DB URI or PostgresConnection.

* TimestampCol() can be instantiated without any defaults, in this case
  default will be None (good default for TIMESTAMP columns in MySQL).

Small Features
--

* Imported DB API drivers are stored as connection instance variables, not
  in global variables; this allows to use different DB API drivers at the
  same time; for example, PySQLite2 and sqlite3.

* Removed all deprecated attribute and functions.

* Removed the last remained string exceptions.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.11.2

2009-09-30 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.11.2, a minor bugfix release of 0.11 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.11.2

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.11.1
-

* Fixed a bug in logging to console - convert unicode to str.

* Fixed an obscure bug in ConnectionHub triggered by an SQLObject class
  whose instances can be coerced to boolean False.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list


SQLObject 0.10.8

2009-09-30 Thread Oleg Broytman
Hello!

I'm pleased to announce version 0.10.8, a minor bugfix release of 0.10 branch
of SQLObject.


What is SQLObject
=

SQLObject is an object-relational mapper.  Your database tables are described
as classes, and rows are instances of those classes.  SQLObject is meant to be
easy to use and quick to get started with.

SQLObject supports a number of backends: MySQL, PostgreSQL, SQLite,
Firebird, Sybase, MSSQL and MaxDB (also known as SAPDB).


Where is SQLObject
==

Site:
http://sqlobject.org

Development:
http://sqlobject.org/devel/

Mailing list:
https://lists.sourceforge.net/mailman/listinfo/sqlobject-discuss

Archives:
http://news.gmane.org/gmane.comp.python.sqlobject

Download:
http://cheeseshop.python.org/pypi/SQLObject/0.10.8

News and changes:
http://sqlobject.org/News.html


What's New
==

News since 0.10.7
-

* Fixed a bug in logging to console - convert unicode to str.

* Fixed an obscure bug in ConnectionHub triggered by an SQLObject class
  whose instances can be coerced to boolean False.

For a more complete list, please see the news:
http://sqlobject.org/News.html

Oleg.
-- 
 Oleg Broytmanhttp://phd.pp.ru/p...@phd.pp.ru
   Programmers don't die, they just GOSUB without RETURN.
-- 
http://mail.python.org/mailman/listinfo/python-list