[issue11129] logging: allow multiple entries in qualname config
Dariusz Suchojad added the comment: Hello friends, @vinay.sajip - the use case for this feature is actually something I come across fairly often. In an application I have dozens and hundreds of logger instances. However, they all fall into one of several loggers. Most of the instances are obtained through a module-wide logger = getLogger(__name__). Now I have a feature in the application split over a couple of modules, in different namespaces: zato.common.scheduler zato.server.scheduler They are independent yet related and it would be most convenient if I could list both in qualname - they really should share the logging configuration, at no point they should have separate handlers, logging formats, anything. As an aside, regarding dict configuration - I know you made the comment in 2011 so it may not represent your current opinion but please keep in mind that logging config is something that on production is updated by administrators, i.e. whatever the latest trends in software development are, they aren't necessarily programmers. People I work with have no problems with customizing ini-like files but Python dicts are an entirely different story, they are simply afraid of doing it - a missing apostrophe may mean a couple of hours wasted, for instance. -- nosy: +dsuch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue11129 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19095] Document SSLSocket.getpeercert always returns None without do_handshake
Dariusz Suchojad added the comment: None isn't helpful as it could mean other things. This is another story but yes, it's true. API-wise, None should be returned in one situation only - we're on server side, ca_certs is non-CERT_NONE, do_handshake has been called yet there is no client certificate. And no other checks should be applied. But the current behavior of returning None is documented and people depend on it so straightening it out would break backward compatibility - it's up to you to decide. I wouldn't mind it personally. But as far as this ticket goes - I'm on 2.7 and it's set in stone so for 2.7 - can you please change copy only? If you decide that for 3.x an exception will be raised then such a caveat would be included in 2.7 docs as well. Thanks again. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19095 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19095] Document SSLSocket.getpeercert always returns None without do_handshake
Dariusz Suchojad added the comment: I'm not sure people depend on getpeercert() returning None before the handshake is done, or perhaps by accident? Ah, no, I meant that people may depend on the documented behaviour of .getpeercert's returning an empty dict (which I mixed up with returning None) if the certificate was not validated. That this dictionary's contents depends on the validation is a bit quirky but it's documented so changing that one would surely break existing code. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19095 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19095] Document SSLSocket.getpeercert always returns None without do_handshake
New submission from Dariusz Suchojad: Hello, I'd like to suggest adding a simple note to SSLSocket.getpeercert stating that it will always return None if do_handshake has never been called. This is not the default behaviour, by default SSLSocket.__init__'s do_handshake_on_connect is True so .getpeercert nicely returns a cert (assuming the usual caveats - the other side offers a certificate and cert_reqs is not CERT_NONE). However, I've just been debugging a someone else's server and I spent some time figuring out why client certificates weren't available - turned out this was because do_handshake was never called (PySSL_SSLdo_handshake in _ssl.c). Adding a single-sentence line will certainly be very helpful. Many thanks! -- assignee: docs@python components: Documentation messages: 198425 nosy: docs@python, dsuch priority: normal severity: normal status: open title: Document SSLSocket.getpeercert always returns None without do_handshake type: enhancement ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19095 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: ANN: Bubbles 0.1 – Virtual Data Object Framework
On 06/23/2013 07:58 PM, Stefan Urbanek wrote: If you have any comments, suggestions or questions, let me know. Hi Stefan, GH readme links to http://bubbles.databrewery.org/ but this page times out, can't connect to it. cheers, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-list
[ANN] Zato 1.1 - ESB and app server in Python
Hello, I'm very happy to let you know that Zato 1.1 has just been released. *What is Zato* -- Zato is a lightweight, yet complete, ESB (Enterprise Service Bus) and app server in Python designed for creating middleware applications and systems of systems. Zato is open-source software released under a commercial-friendly LGPL license. The project's site is at https://zato.io Read more about what ESB is at https://zato.io/docs/intro/esb-soa.html *Release notes* --- This release is based on feedback from early adopters and includes a number of improvements to help first time users get started more easily. An important addition in 1.1 is a unified installer for OS X, Ubuntu, Mint and Fedora. Special thanks to Myroslav Opyr (quintagroup.com) for all his suggestions and code patches and to a vocal group of OS X users (https://github.com/zatosource/zato/issues/41) who helped create the OS X installer! Download: https://zato.io/downloads.html Migrating from 1.0: https://zato.io/docs/admin/guide/migrating.html Changelog: https://zato.io/docs/project/changelog.html Unfortunately, this release doesn't add an installer for RHEL and SLES. Confronted with a choice between delaying 1.1 and adding support for OS X and Fedora, I had to make a call and chose the latter. *Changelog* --- * Unified installer for Ubuntu, Mint, Fedora and OS X * Added the zato check-config command * Fixed a bug which lead to double execution of user-defined scheduler jobs * Made quickstart clusters more robust when confronted with improperly configured servers, sanity checks are now performed before servers are started * Changed the default value of main.deployment_lock_expires so it works on 32-bit systems without a need for reconfiguring servers after they’re created * Made scripts generated by zato quickstart relocatable * Newly created servers start CPU_COUNT gunicorn workers by default now, not CPU_COUNT * 2 as previously * HAProxy load-balancer can now bind to all interfaces. Patch provided by Myroslav Opyr (quintagroup.com). cheers, -- Dariusz Suchojad https://zato.io The next generation ESB and application server. Open-source. In Python. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Zato 1.0. The next generation ESB and application server. Open-source. In Python.
Hello, I'm very happy to announce the first release of Zato, the next generation ESB and application server, available under a commercial-friendly open-source LGPL license. https://zato.io What can you expect out of the box? --- * HTTP, JSON, SOAP, Redis, AMQP, JMS WebSphere MQ, ZeroMQ, FTP, SQL, hot-deployment, job scheduling, statistics, high-availability load balancing and more * Incredible productivity with Python * Painless rollouts with less downtime * Slick web admin GUI, CLI and API * Awesome documentation (several hundred A4 pages) * 24x7 commercial support and training Links - Project's site: https://zato.io Download: https://zato.io/download/zato-1.0.tar.bz2 Support: https://zato.io/support Docs: https://zato.io/docs Architecture: https://zato.io/docs/architecture/overview.html Tutorial: https://zato.io/docs/tutorial/01.html GitHub: https://github.com/zatosource Mailing list: https://mailman-mail5.webfaction.com/listinfo/zato-discuss IRC: irc://irc.freenode.net/zato Twitter: https://twitter.com/zatosource LinkedIn: https://www.linkedin.com/groups?gid=5015554 Diversity statement: https://zato.io/docs/project/diversity.html Spread the news and enjoy! :-) cheers, -- Dariusz Suchojad https://zato.io The next generation ESB and application server. Open-source. In Python. -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
sec-wall 1.1 / A feature packed security proxy
Hello, the version 1.1 of sec-wall has just been released. Notable changes --- - Added an 'ssl-wrap-only' option for terminating SSL without requiring clients to provide any authentication information - Simplified access to sec-wall's internals from other Python packages so various authentication methods can be directly imported from Python code What is sec-wall? - sec-wall is a feature packed security proxy. sec-wall has many interesting features, including support for SSL/TLS, WS-Security, HTTP Auth Basic/Digest, extensible authentication schemes based on custom HTTP headers and XPath expressions, powerful URL matching/rewriting and an optional headers enrichment. sec-wall uses and is built on top of several fantastic Python open source technologies, such as gevent, Spring Python, pesto, lxml, zdaemon or PyYAML and is meant to be highly customizable and easy to use. Good performance, tests, documentation and building an awesome community are at the very heart of the project. Here's an example showing how little is needed to secure a backend server with HTTP Basic Auth. # ## # -*- coding: utf-8 -*- # stdlib import uuid # Don't share it with anyone. INSTANCE_SECRET = '5bf4e78c256746eda2ce3e0e73f256d0' # May be shared with the outside world. INSTANCE_UNIQUE = uuid.uuid4().hex def default(): return { 'basic-auth':True, 'basic-auth-username':'MyUser', 'basic-auth-password':'MySecret', 'basic-auth-realm':'Secure area', 'host': 'http://example.com' } urls = [ ('/*', default()), ] # ## Links - Project's homepage: http://sec-wall.gefira.pl/ Getting started: http://sec-wall.gefira.pl/documentation/getting-started/index.html Usage examples: http://sec-wall.gefira.pl/documentation/usage-examples/index.html Twitter: https://twitter.com/fourthrealm Blog: http://www.gefira.pl/blog IRC: #sec-wall channel on Freenode network cheers, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: PyMQI 1.2 - Python interface to WebSphere MQ
Hi, I'm very happy to announce the release of PyMQI 1.2. *INTRODUCTION* PyMQI allows users to connect Python applications to WebSphere MQ queue managers. It can be used to develop test harnesses for WebSphere MQ based systems, for rapid prototyping of WebSphere MQ applications, for development of administrative GUIs or for mainstream MQ application development. PyMQI has been used in production environments for several years on Linux, Windows, Solaris and AIX with queue managers running on Linux, Windows, Solarix, AIX, HP-UX and z/OS mainframe. Supported WebSphere MQ versions are 5.0, 5.1, 5.3, 6.0 and 7.0. *What's new* * Added support for MQ 7.0-style publish/subscribe * Added support for creating and parsing of MQRFH2 headers * Added new constants in the CMQZC.py module * Added new structures - MQSRO, MQSD, MQTM, MQTMC2 * PyMQI now supports byte strings * New MQ verb - MQSUB * Simplified establishing connections to queue managers * Added means for checking whether a client application is connected to a queue manager Special thanks to Hannes Wagener for his extraordinary contributions in the area of publish/subscribe and MQRFH2! *Hello world with PyMQI* Here's an example showing how easy it is to connect to WebSphere MQ and put a message on a queue. import pymqi qmgr = pymqi.connect(QM01, SVRCONN.1, 192.168.1.121(1434)) q = pymqi.Queue(qmgr, TEST.QUEUE.1) q.put(Hello from Python) *Links* Project's homepage: http://packages.python.org/pymqi/ Download URL: https://launchpad.net/pymqi/+download Usage examples: http://packages.python.org/pymqi/examples.html Twitter: https://twitter.com/fourthrealm Blog: http://www.gefira.pl/blog LinkedIn: http://www.linkedin.com/groups?gid=3726448 IRC: #pymqi channel on Freenode network cheers, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
Python WebSphere MQ LinkedIn group created
Hello, I'd like to invite you to join the LinkedIn's Python WebSphere MQ group [1] which I've just created. The community of programmers using both Python and WebSphere MQ is ever growing and I believe it's time for Python WebSphere MQ professionals to have their place on LinkedIn as well. Users of PyMQI [1] and Spring Python's JMS features [2] are particularly welcome but if you're still wavering over using Python for WebSphere MQ programming then you're more than encouraged to join in! [1] http://www.linkedin.com/groups?gid=3726448 [2] http://packages.python.org/pymqi/ [3] http://springpython.webfactional.com/1.2.x/sphinx/html/jms.html cheers, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue10190] Can argparse._AttributeHolder._get_kwargs become a public API?
Dariusz Suchojad ds...@gefira.pl added the comment: I find that _AttributeHolder is a handy way for passing the command line options around the application. What is lacks though is a documented API for actually fetching the attributes in batches, like .items() or something similar that could be used for iterating over all command line arguments. That's why I thought '_get_kwargs' would be a good candidate particularly because it does exactly what I need in my code, returns a sorted list of key/value parameters. But I'm not really saying that it must be '_get_kwargs', could as well be _AttributeHolder's __dict__ attribute as long as the docs say that it's a part of the public API so that I'm sure I'm not using something that may silently break between releases. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10190 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue10190] Can argparse._AttributeHolder._get_kwargs become a public API?
New submission from Dariusz Suchojad ds...@gefira.pl: Hello, I was wondering if it were possible for the argparse._AttributeHolder._get_kwargs to become a part of the public API. Using this method is a very convenient way to get a hold of the arguments provided by the user and it would be shame to keep it private, I for one use it in several places even though I clearly know the name starts with an underscore, it's just that reimplementing it in my code seems counter-productive, would be very nice if '_get_kwargs' became 'get_kwargs' in some future release. Thanks for considering it! -- assignee: d...@python components: Documentation, Library (Lib) messages: 119539 nosy: bethard, d...@python, dsuch priority: normal severity: normal status: open title: Can argparse._AttributeHolder._get_kwargs become a public API? type: feature request ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue10190 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
ANN: PyMQI 1.1 - Python interface to WebSphere MQ
Hi, I'm happy to announce the release of PyMQI 1.1. *INTRODUCTION* PyMQI allows users to connect Python applications to WebSphere MQ queue managers. It can be used to develop test harnesses for WebSphere MQ based systems, for rapid prototyping of WebSphere MQ applications, for development of administrative GUIs or for mainstream MQ application development. PyMQI has been used in production environments for several years on Linux, Windows, Solaris and AIX with queue managers running on Linux, Windows, Solarix, AIX and z/OS mainframe. Supported WebSphere MQ versions are 5.0, 5.1, 5.3, 6.0 and 7.0. *What's new* * Added support for Windows AMD64, * Fixed several bugs related to PCF processing, * Added 20+ usage examples to documentation, * Created a PyMQI mailing list at http://mailman-mail5.webfaction.com/listinfo/pymqi-list. It's a good place to join if you'd like to be informed of upcoming releases and new planned features. *Hello world with PyMQI* Here's an example showing how easy it is to connect to WebSphere MQ and put a message on a queue. import pymqi qmgr = pymqi.QueueManager(None) qmgr.connectTCPClient(QM.1, pymqi.cd(), SVRCONN.CHANNEL.1, 192.168.1.121(1434)) q = pymqi.Queue(qmgr, TEST.QUEUE.1) q.put(Hello from Python) *Links* Project's homepage: http://packages.python.org/pymqi/ Download URL: https://launchpad.net/pymqi/+download Usage examples: http://packages.python.org/pymqi/examples.html Twitter: https://twitter.com/fourthrealm cheers, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
ANN: PyMQI 1.0 - Python WebSphere MQ interface
Hi, I'm happy to announce the release of PyMQI 1.0. *Introduction* PyMQI allows users to connect Python applications to WebSphere MQ queue managers. It can be used to develop test harnesses for WebSphere MQ based systems, for rapid prototyping of WebSphere MQ applications, for development of administrative GUIs or for mainstream WebSphere MQ application development. PyMQI has been used in production environments for several years on Linux, Windows, Solaris and AIX with queue managers running on Linux, Windows, Solarix, AIX and z/OS mainframe. Supported WebSphere MQ versions are 5.0, 5.1, 5.3, 6.0 and 7.0. *What's new* * Added support for WebSphere MQ 7.0 * Added support for 64bit queue managers (special thanks to Brent S. Elmer, Ph.D., for his outstanding contributions) * PyMQI is now by default built in client mode * Added new WebSphere MQ constants to the pymqi.CMQCX module * Documentation is now hosted at http://packages.python.org/pymqi/ * The new development site is at https://launchpad.net/pymqi/ *Hello world with PyMQI* Here's an example showing how easy it is to connect to WebSphere MQ and to put a message on the queue. import pymqi qmgr = pymqi.QueueManager(None) qmgr.connectTCPClient(QM.1, pymqi.cd(), SVRCONN.CHANNEL.1, 192.168.1.121(1434)) q = pymqi.Queue(qmgr, TEST.QUEUE.1) q.put(Hello world) *Links* Download: https://launchpad.net/pymqi/+download Documentation: http://packages.python.org/pymqi/ Development site: https://launchpad.net/pymqi/ regards, -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations/
[issue6992] PEP 314 inconsistency (authors/author/maintainer)
Dariusz Suchojad ds...@users.sourceforge.net added the comment: Hello, funny the bug report should surface in the very same time I was looking for a way to put 2 authors in the 'author' field :-) [Antoine Pitrou (pitrou)] It is still unknown what use case the new author scheme would solve that the old one doesn't I believe I have such a use case. I'm in the middle of taking over a Python package and I would like to give credits to the original author who passed the development over to me. You see, *he is* the author of 95% of the code, it seems unfair to replace his name with my own. I thought I could simply use a list of authors but the 'author' field hasn't been designed for it. [Antoine Pitrou (pitrou)] (does someone want the authorfield to be machine parsable? for what purpose?), I'm just a regular user and when I see a field described as a 'meta' one then I'm actually not wondering how any future tools will take advantage of it. It being a 'meta' I understand it's mostly meant to be interpreted by machines which, funnily enough, seems to be just to the contrary of what you say. Of course one can put anything they wish into 'author', it could even be CSV or XML but that's not the point, the point is that some things simply have two and more authors and inserting the mailing list isn't exactly the same. Sure, I can simply put it all in an AUTHORS file but again it's not the same, what would be the 'author' field for then? If someone were to ask me then I'd say there should only be the 'author' and 'contributor' fields which both have a clear meaning in open-source world, accepting both a string and a list/tuple in format of 'Foo Bar foo...@example.com' which makes for easy parsing and other fields discussed here should be deprecated. No one likes type checking but at least it would provide backwards-compat for the most widely used field. Just my 2c. author = 'Foo Bar foo...@example.com' author = ['Foo Bar foo...@example.com', 'Baz Frobble bazfrob...@example.com'] But hey, I still very much like distutils :-) and I understand all the backwards-compatibility concerns, but as a user I can clearly see a need for /some/ way to specify more than one author without having to wonder what will any not-yet-written tool do with this or any other meta field. -- nosy: +dsuch ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue6992 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1737] Windows installer issue (ObjectBrowser.py)
Dariusz Suchojad added the comment: I think we can close the issue (although I seem not be able to do that). The installer works just fine now I've downloaded it using another browser. For future reference - the former one was Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071030 SeaMonkey/1.1.6 __ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1737 __ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1737] Windows installer issue (ObjectBrowser.py)
Dariusz Suchojad added the comment: Hmm, on a home PC the checksum's correct, it's a1d1a9c07bc4c78bd8fa05dd3efec87f. Assuming something is wrong with my download at work, is it possible for an MSI package to start the installation even when package is corrupted? Anyway, tomorrow I'll try to install the MSI I downloaded at home. __ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1737 __ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue1737] Windows installer issue (ObjectBrowser.py)
New submission from Dariusz Suchojad: Hello, for some reasons I cannot install Python 2.5.1 using the default MSI package which may be found here http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi. This only happens on two of my PC's at work but I cannot reproduce it at home. The only difference I could find between those Windows is that the PC's at work are connected to Active Directory domain whereas my home machine isn't. I tried to install Python as a domain user and also as a local administrator but every time I encountered the very same screen (see attached file objectbrowser.png) and then the installation process rollbacks. I'd like to investigate it further but I have no slightest idea where to start. Do you perhaps have any suggestions? It's all Windows XP SP2. -- components: Installation, Windows files: objectbrowser.png messages: 59234 nosy: dsuch severity: normal status: open title: Windows installer issue (ObjectBrowser.py) type: behavior versions: Python 2.5 Added file: http://bugs.python.org/file9060/objectbrowser.png __ Tracker [EMAIL PROTECTED] http://bugs.python.org/issue1737 __ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
Re: MQSeries based file transfers using the pymqi module
Andrew Robert wrote: Hi everyone, Hello, Has anyone developed a pymqi module based file transfer method for use with WebSphere MQSeries v5.3? If so, would it be possible to point me towards examples of how this was done? I'm not sure I understand your question. Webshpere MQ expects your code to give it a stream of bytes, there's nothing file-specific in using base WMQ so it's your application's job to read a file, put its contents onto the desired queue, and to get it off the queue some time later. If the code below is not what you need then feel free to ask a more specific question :-) import pymqi as mq # Queue manager name qm_name = M01 # Listener host and port listener = 127.0.0.1(1414) # Channel to transfer data through channel = SYSTEM.DEF.SVRCONN # Input/output queue name queue_name = Q01 # Make some data file_name = C:\\sample.txt sample_data = Hello from PyMQI. open(file_name,w).write(sample_data) # Connect to queue manager qm = mq.QueueManager(None) qm.connectTCPClient(qm_name, mq.cd(), channel, listener) # Put a message onto the queue queue = mq.Queue(qm, queue_name) data = open(file_name).read() queue.put(data) # Close the queue, queue.put has implicitly opened the queue for output # so we can't use the same pymqi.Queue object for getting the messages # off the queue queue.close() # Now get the message, queue.get will implicitly open the queue for # input queue = mq.Queue(qm, queue_name) msg = queue.get() queue.close() # Here's the message contents print msg -- Dariusz Suchojad -- http://mail.python.org/mailman/listinfo/python-list