Josh Triplett j...@joshtriplett.org added the comment:
I currently use Python 2.7, and I'd like to make use of memoryview.
Specifically, I work on BITS (http://biosbits.org/), which runs Python in ring
0 as part of GRUB, and I'd like to use memoryview to give Python access to data
in
Josh Triplett j...@joshtriplett.org added the comment:
I currently use Python 2.7, and I'd like to make use of memoryview.
Specifically, I work on BITS (http://biosbits.org/), which runs Python in
ring 0 as part of GRUB, and I'd like to use memoryview to give Python access
to data in
Kristján Valur Jónsson krist...@ccpgames.com added the comment:
possibly, multiprocessing.Connection uses handles, which can be socket handles
on windows, and that code also uses DuplicateHandle. I think a generic
solution must be found for multiprocessing, so I'll create a separate issue.
sbt shibt...@gmail.com added the comment:
I only looked quickly at the web pages, so I may have misunderstood.
But it sounds like this applies when the attacker gets multiple chances to
guess the digest for a *fixed* message (which was presumably chosen by the
attacker).
That is not the case
sbt shibt...@gmail.com added the comment:
There is an undocumented function multiprocessing.allow_connection_pickling()
whose docstring claims it allows connection and socket objects to be pickled.
The attached patch fixes the multiprocessing.reduction module so that it works
correctly. This
sbt shibt...@gmail.com added the comment:
I think a generic solution must be found for multiprocessing, so I'll
create a separate issue.
I have submitted a patch for Issue 4892 which makes connection and socket
objects picklable. It uses socket.share() and socket.fromshare() on Windows.
Antoine Pitrou pit...@free.fr added the comment:
Unless there's a technical barrier, I still think it would be better to use
ForkingPickler in multiprocessing.connection, rather than modify global state
(copyreg). The pickling support is multiprocessing-specific and wouldn't make
sense for
Antoine Pitrou pit...@free.fr added the comment:
This looks rather good on the principle. I think PyExcState needn't be public,
it should be _PyExcState.
I haven't checked the detailed mechanics of the patch, I hope someone else can.
--
nosy: +pitrou
New submission from R. David Murray rdmur...@bitdance.com:
A common pattern in testing is to have a base test class that implements test
methods, and subclasses that provide various data that drives the tests to be
run in different ways. It is convenient for the base class to inherit from
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset eff551437abd by R David Murray in branch 'default':
#14533: if a test has no test_main, use loadTestsFromModule.
http://hg.python.org/cpython/rev/eff551437abd
--
nosy: +python-dev
Changes by R. David Murray rdmur...@bitdance.com:
--
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14533
___
Kristján Valur Jónsson krist...@ccpgames.com added the comment:
Here is a new patch.
1) I´ve simplified and relaxed test_notify() for Condition objects. Condition
variables don't guarantee that there won't be any spurious wakeups so the test
must maintain internal bookkeeping so that it
Changes by Kristján Valur Jónsson krist...@ccpgames.com:
--
nosy: +kristjan.jonsson
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue4892
___
___
New submission from Ramchandra Apte maniandra...@gmail.com:
Three code examples in
http://docs.python.org/py3k/library/multiprocessing.html#examples are not
syntax highlighted.
--
assignee: docs@python
components: Documentation
messages: 157845
nosy: docs@python, ramchandra.apte
Serhiy Storchaka storch...@gmail.com added the comment:
I checked one example on a 32-bit system (you have a 64-bit?)), because I was
afraid pessimization because of a lack of registers. str.find() is faster than
str.rfind(), but the patch makes it even faster.
But I would like to see the
Antoine Pitrou pit...@free.fr added the comment:
Condition variables don't guarantee that there won't be any spurious
wakeups
What do you mean? The implementation doesn't seem prone to spurious wakeups,
and the docs don't say so either.
I've added two generic tests of Condition objects in
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset 704630a9c5d5 by Antoine Pitrou in branch 'default':
Issue #13165: stringbench is now available in the Tools/stringbench folder.
http://hg.python.org/cpython/rev/704630a9c5d5
--
nosy: +python-dev
Changes by Antoine Pitrou pit...@free.fr:
--
resolution: - fixed
stage: needs patch - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue13165
___
Antoine Pitrou pit...@free.fr added the comment:
But I would like to see the script and the results of benchmarking of
the 1/2/3/20-character ascii/ucs1/ucs2/ucs4-substring in ascii/ucs1
/ucs2/ucs4-string, in all possible combinations. May be, such benchmark
scripts already exist?
Stefan Behnel sco...@users.sourceforge.net added the comment:
FWIW, Cython keeps the exception state in the generator struct and that works
nicely.
Note that Amaury is right in that extensions use tstate-exc_value and friends.
Cython does so quite extensively, for example. I don't see any use
New submission from Serhiy Storchaka storch...@gmail.com:
Links Subversion instructions and Developer FAQ on http://svn.python.org/
are invalid.
--
components: Devguide
messages: 157851
nosy: ezio.melotti, storchaka
priority: normal
severity: normal
status: open
title: Invalid links in
Kristján Valur Jónsson krist...@ccpgames.com added the comment:
I just want to point out that each time socket.share() is called, the resulting
data can only be used once by socket.fromshare(). I'm mentioning this because
I know there is some caching mechanism in reduction.py and that this
Serhiy Storchaka storch...@gmail.com added the comment:
stringbench (the tool which produced those results) now exists in
Tools/stringbench/stringbench.py.
Thank you, yesterday they were not.
--
___
Python tracker rep...@bugs.python.org
Antoine Pitrou pit...@free.fr added the comment:
Note that Amaury is right in that extensions use tstate-exc_value and
friends. Cython does so quite extensively, for example.
I understand for Cython, but why would pedestrian extension code look up
tstate-exc_value?
--
Antoine Pitrou pit...@free.fr added the comment:
Stefan's latest patch looks fine to me.
--
nosy: +pitrou
stage: - commit review
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14098
___
Mark Shannon m...@hotpy.org added the comment:
3rd party code should not be accessing fields in the threadstate object,
but without the accessors proposed in issue 14098 there may be no alternative.
Once the patch for issue 14098 has been applied it, would it then be acceptable
to remove the
Changes by Mark Dickinson dicki...@gmail.com:
--
nosy: +mark.dickinson
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14520
___
___
Mark Dickinson dicki...@gmail.com added the comment:
In the C version of decimal, do distinct Decimal objects ever share
coefficients? (This would be an obvious optimization for methods like
Decimal.copy_negate; I don't know whether the C version applies such
optimizations.) If there's
Rik Poggi poggi.ri...@gmail.com added the comment:
Moving on, I've understood what the bug is about. I've made a couple of tests
for this issue. I'm waiting for a review before adding others (if necessary).
The fix is not going to be easy, because I'm not sure about the Metadata design.
I
Mark Dickinson dicki...@gmail.com added the comment:
Thanks for the updated patch! (BTW, you can attach patches as files to the
issue rather than writing them inline.)
Yes, this patch is more along the lines that I was thinking of. There are some
issues, though: (1) we need to deal with
Martin v. Löwis mar...@v.loewis.de added the comment:
In the C version of decimal, do distinct Decimal objects ever share
coefficients? (This would be an obvious optimization for methods
like Decimal.copy_negate; I don't know whether the C version
applies such optimizations.) If
Stefan Krah stefan-use...@bytereef.org added the comment:
Mark Dickinson rep...@bugs.python.org wrote:
In the C version of decimal, do distinct Decimal objects ever share
coefficients?
The coefficients are members of the mpd_t struct (libmpdec data type),
and they are not exposed as Python
Mark Dickinson dicki...@gmail.com added the comment:
Here's an example based on the dtoa.c code. It only changes the return value
of float('nan'), and doesn't affect any other existing uses of the Py_NAN
macro. It needs tests.
--
keywords: +patch
Added file:
Stefan Behnel sco...@users.sourceforge.net added the comment:
I can't speak for much outside of Cython, and Cython generated modules would
best be regenerated with a newer Cython version anyway in order to work with
Py3.3. I'm not sure that's currently required, though.
As long as there is a
Mark Dickinson dicki...@gmail.com added the comment:
and they are not exposed as Python objects or shared.
Okay, thanks. Sounds like this isn't an issue at the moment then.
+1 for having getsizeof report the total size used.
--
___
Python tracker
Antoine Pitrou pit...@free.fr added the comment:
As long as there is a way to access these fields directly from the
struct (with the usual preprocessor conditional), I don't think Cython
will actually start to use the PyErr_[GS]etExcInfo() functions in
CPython - simply for performance
Antoine Pitrou pit...@free.fr added the comment:
Thanks for pointing it - I've fixed the instructions.
--
nosy: +pitrou
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker rep...@bugs.python.org
Antoine Pitrou pit...@free.fr added the comment:
A decorator would be provided that sets the attribute to False, since
that would make it visually obvious which TestCases are base classes
and not to be loaded.
What's the point? Just derive from TestCase in the derived classes, not the
base
Daniel Stutzbach stutzb...@google.com added the comment:
Wouldn't the subclass inherit the False value? Then the user would need to
remember to override the value again in the subclass, which is error prone.
Antoine: I've used the pattern you describe on a couple of occasions, and it
R. David Murray rdmur...@bitdance.com added the comment:
Antoine: I don't have any problem with that personally, but Michael did, and
he's the maintainer :)
But there is a small advantage: it means you don't have to keep repeating the
'unittest.TestCase' boilerplate in each subclass
Antoine Pitrou pit...@free.fr added the comment:
Antoine: I've used the pattern you describe on a couple of occasions,
and it routinely confuses my code reviewers.
Really? What is confusing about it?
Perhaps we should simply document it.
--
___
Serhiy Storchaka storch...@gmail.com added the comment:
I think that would be a useful tool for comparing two stringbench results. I
propose an example of a script. Can use them separately or included in the
stringbench.py, it's only an idea.
--
nosy: +storchaka
Added file:
Serhiy Storchaka storch...@gmail.com added the comment:
I used stringbench and self-writen script (see issue13165) for comparison and
saw no convincing difference. The difference to str.find does not exceed
accidental deviations for other functions which are not affected by the patch.
Serhiy Storchaka storch...@gmail.com added the comment:
May be it would be more reasonable if math.copysign(1., float('nan')) return a
float('nan')?
--
nosy: +storchaka
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14521
Mark Dickinson dicki...@gmail.com added the comment:
May be it would be more reasonable if math.copysign(1., float('nan'))
return a float('nan')?
-1. That would go against all the existing standards.
--
___
Python tracker rep...@bugs.python.org
mattip matti.pi...@gmail.com added the comment:
Your patch is much more reasonable than mine.
Should I add a test that fails pre-patch and passes with the patch, or one that
is skipped pre-patch and passes post-patch? I'm not sure what is accepted in
the cpython development cycle
--
New submission from Aaron Meurer asmeu...@gmail.com:
Recently, after a small seemingly unrelated refactoring, the SymPy test suite
in Python 3 started dying with Fatal Python error: Cannot recover from stack
overflow.
Here's how to reproduce the error
git clone
Vinay Sajip vinay_sa...@yahoo.co.uk added the comment:
Re. logging, logging._acquireLock and logging._releaseLock are not part of the
public API and are undocumented at present. The case when _releaseLock does not
raise an error is when threading couldn't be imported, so the _lock variable is
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +haypo
versions: +Python 3.3
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14537
___
___
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset b5f0ce4ddf0c by Éric Araujo in branch '2.7':
Fix long-standing bugs with MANIFEST.in parsing on Windows (#6884).
http://hg.python.org/cpython/rev/b5f0ce4ddf0c
--
___
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset b5f0ce4ddf0c by Éric Araujo in branch '2.7':
Fix long-standing bugs with MANIFEST.in parsing on Windows (#6884).
http://hg.python.org/cpython/rev/b5f0ce4ddf0c
--
___
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset a11a2bbd8241 by Benjamin Peterson in branch '2.7':
fix build without Py_DEBUG and DNDEBUG (closes #14509)
http://hg.python.org/cpython/rev/a11a2bbd8241
New changeset 64bb1d258322 by Benjamin Peterson in branch
Jim Jewett jimjjew...@gmail.com added the comment:
Vinay,
The current question is what contract locks should follow, and whether
all locks should follow it. Would it be acceptable for
logging._releaseLock to raise a RuntimeError if the lock hadn't
previously been acquired? In other words,
Antoine Pitrou pit...@free.fr added the comment:
The current question is what contract locks should follow, and whether
all locks should follow it. Would it be acceptable for
logging._releaseLock to raise a RuntimeError if the lock hadn't
previously been acquired?
I don't see the point of
Martin v. Löwis mar...@v.loewis.de added the comment:
Fine with me as well. Stefan, please submit a contributor form.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14098
___
Roundup Robot devn...@psf.upfronthosting.co.za added the comment:
New changeset 010aa5d955ac by Stefan Krah in branch 'default':
Issue #14520: Add __sizeof__() method to the Decimal object.
http://hg.python.org/cpython/rev/010aa5d955ac
--
nosy: +python-dev
Martin v. Löwis mar...@v.loewis.de added the comment:
The test should fail pre-patch and pass post-patch. There will be no state in
the repository where the patch is present and fails, since it will be committed
along with the patch.
Skipping tests is only ok for tests that lack
Martin v. Löwis mar...@v.loewis.de added the comment:
Also, mattip: if you want to contribute some chunk of code (such as the test),
please submit a contributor form.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14521
Stefan Krah stefan-use...@bytereef.org added the comment:
Thanks for the explanations. The new __sizeof__() method should now
report the exact memory usage.
--
resolution: - fixed
stage: - committed/rejected
status: open - closed
___
Python tracker
New submission from Michel Leunen michel.leu...@gmail.com:
HTMLParser fails to parse this structure of tags:
'a/ascript/scriptmetameta / body/body'
Parsing stops after the first meta tag ignoring the remainers
from HTMLParser import HTMLParser
parser = process_html()
Changes by Michel Leunen michel.leu...@gmail.com:
--
title: HTMLParser - HTMLParser: parsing error
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14538
___
Rik Poggi poggi.ri...@gmail.com added the comment:
I think the doc should be improved
(http://docs.python.org/library/unittest.html#load-tests-protocol), it's not
clear how pattern in the example (last one) could not be None.
Changing the discover signature doesn't seem to be an option since
Jim Jewett jimjjew...@gmail.com added the comment:
@Brian -- to clarify,
(1) Does issue3561.diff completely supersede prependpath_in-progress.diff?
(And should that be the one currently subject to review?)
(2) What happens with multiple installations? Do users have to manually unset
the
Changes by Brian Curtin br...@python.org:
Removed file: http://bugs.python.org/file24574/prependpath_in-progress.diff
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3561
___
Antoine Pitrou pit...@free.fr added the comment:
UI-wise, I'm not sure why it looks like an installable component rather than a
separate checkbox. Is it a limitation of the installation software?
--
nosy: +pitrou
___
Python tracker
Michael Foord mich...@voidspace.org.uk added the comment:
So the technique I suggested is that the TestLoader checks classes for the
testbase (or whatever we call it) *in the class dict*. So inheritance doesn't
matter - a class is only excluded from test loading if it has the attribute
Brian Curtin br...@python.org added the comment:
I unlinked the old diff. issue3561.diff is the one that matters.
As for what happens with multiple installations, it's no different than how
you'd already be managing it or anything else like it. If you install 2.7 with
the path option enabled
Michael Foord mich...@voidspace.org.uk added the comment:
Here are my objections to the standard (but not widely used outside our own
tests) mixin pattern for base testcases (copied and pasted from issue 14408):
Because you then have classes that inherit from object calling methods that
Antoine Pitrou pit...@free.fr added the comment:
So the technique I suggested is that the TestLoader checks classes for
the testbase (or whatever we call it) *in the class dict*. So
inheritance doesn't matter - a class is only excluded from test
loading if it has the attribute directly.
Why
Brian Curtin br...@python.org added the comment:
UI-wise, I'm not sure why it looks like an installable component rather than
a separate checkbox. Is it a limitation of the installation software?
I originally did it as a separate check box UI-wise but couldn't hook that into
be an actual
Jim Jewett jimjjew...@gmail.com added the comment:
What do you think it should do?
My thought is that meta tags may or may not be void, but certainly should not
be nested. As XML, I would parse that as
a/a
script/script
meta
meta /
body/body
*missing closing tag
But for html,
mattip matti.pi...@gmail.com added the comment:
I added tests to the mark.dickinson patch, test.test_math passes.
--
Added file: http://bugs.python.org/file25165/math_patch2.txt
___
Python tracker rep...@bugs.python.org
Georg Brandl ge...@python.org added the comment:
Agreed. Jim, I think you're trying to get consistency where none is required.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14502
___
mattip matti.pi...@gmail.com added the comment:
I also submitted a form. Sorry about the patch name, still learning.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14521
___
Antoine Pitrou pit...@free.fr added the comment:
I’m writing a shutil.copyxattr() first which could simple get another
argument for the namespaces that should be copied.
Sounds good to me :-)
However what to do inside copy2()?
I’m tending to either:
1. copy only user.*
2. ignore
Changes by Antoine Pitrou pit...@free.fr:
--
nosy: +ezio.melotti
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14538
___
___
Python-bugs-list
Benjamin Peterson benja...@python.org added the comment:
Given the lack of progress here, I will be releasing 2.7.3.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14412
___
Antoine Pitrou pit...@free.fr added the comment:
Some comments:
- you also need to modify the C version in Modules/_datetimemodule.c
(make sure the tests exercise both versions!)
- the doc needs a versionadded tag
- I don't understand this:
+if self.isocalendar()[1] != 1:
+
Ezio Melotti ezio.melo...@gmail.com added the comment:
With Python 2.7.3rc2 and 3.3.0a0 (strict=False) I get:
Start tag: a
End tag : a
Start tag: script
End tag : script
Start tag: meta
Data : meta /
Start tag: body
End tag : body
This is better, but still not 100% correct, the meta /
Alexander Belopolsky alexander.belopol...@gmail.com added the comment:
Before you invest in a C version, let's discuss whether this feature is
desirable. The proposed function implements a very simple and not very common
calculation. Note that even dateutil does not provide direct support
New submission from zodalahtathi m8r-a70...@mailinator.com:
The logging module does not print logging message when the logging level is set
to a level inferior to the default level.
I can reproduce it using the Python3 (3.2.2) package from Ubuntu 12.04 beta2,
or using a hand compiled Python
Martin v. Löwis mar...@v.loewis.de added the comment:
UI-wise, I'm not sure why it looks like an installable component
rather than a separate checkbox. Is it a limitation of the
installation software?
You are misinterpreting the UI. The list is not of installable components,
but of
Changes by R. David Murray rdmur...@bitdance.com:
--
nosy: +vinay.sajip
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14539
___
___
R. David Murray rdmur...@bitdance.com added the comment:
Note that I did just document the mixin idiom in the Lib/test docs. Which core
developers probably don't read :)
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14534
Martin v. Löwis mar...@v.loewis.de added the comment:
IANANSOE (I am not a native speaker of English), but it seems to me that
Prepend path is a bit terse, in particular since Path is being prepended
*to*. How about Add python.exe to the search path? That it is added to the
beginning could be
Marc-Andre Lemburg m...@egenix.com added the comment:
Alexander Belopolsky wrote:
Alexander Belopolsky alexander.belopol...@gmail.com added the comment:
Before you invest in a C version, let's discuss whether this feature is
desirable. The proposed function implements a very simple and
STINNER Victor victor.stin...@gmail.com added the comment:
I think that would be a useful tool for comparing two stringbench results.
Please open a new issue for such improvement.
--
___
Python tracker rep...@bugs.python.org
Alexander Belopolsky alexander.belopol...@gmail.com added the comment:
On Mon, Apr 9, 2012 at 6:20 PM, Marc-Andre Lemburg
rep...@bugs.python.org wrote:
Which is wrong, since the start of the first ISO week of a year
can in fact start in the preceeding year...
Hmm, the dateutil documentation
STINNER Victor victor.stin...@gmail.com added the comment:
It looks like an issue in SymPy, a stack overflow. Why did you report this
issue on CPython bug tracker?
Is there an infinite loop in a recursive function call?
Can you try to get the full Python traceback using faulthandler? Use -X
Jim Jewett jimjjew...@gmail.com added the comment:
FWIW, doing a linear probe only within a cache line (changing the 1's bit)
before applying perturb might also be useful -- and the results may change if
the size of a dictentry were reduced. (Mark Shannon's now-integrated patch
doesn't
Aaron Meurer asmeu...@gmail.com added the comment:
We do have a stack overflow, but this should be raising a RuntimeError, not
killing Python. The way it is now, Python dies completely with abort trap 6
(hence the Mac OS X problem report). Sorry if I didn't make this clear in the
OP.
STINNER Victor victor.stin...@gmail.com added the comment:
SymPy uses a C extension, numpy. The problem may be related to numpy. CPython
tries to catch segmentation fault, but when a C extension is used, CPython may
fail to protect your program against stack overflow.
--
Aaron Meurer asmeu...@gmail.com added the comment:
No it does not. SymPy is a pure Python library.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue14537
___
Antoine Pitrou pit...@free.fr added the comment:
Hmm, the dateutil documentation seems to imply that relativedelta
takes care of this:
This is all a bit moot since we don't have a relativedelta in the
stdlib.
I think the two questions here are:
- is this feature desirable? I think the answer
Brian Curtin br...@python.org added the comment:
Agreed. I will work up a more friendly text to go along with the feature.
--
___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue3561
___
Alexander Belopolsky alexander.belopol...@gmail.com added the comment:
On Mon, Apr 9, 2012 at 6:56 PM, Antoine Pitrou rep...@bugs.python.org wrote:
This is all a bit moot since we don't have a relativedelta in the
stdlib.
It is still worthwhile to see how it is done elsewhere. So far, we
STINNER Victor victor.stin...@gmail.com added the comment:
The (first) Python stack overflow occurs at:
---
(gdb) py-bt
Traceback (most recent call first):
File /home/haypo/issue14537/sympy/py3k-sympy/sympy/core/expr.py, line 2531,
in expand
from sympy.simplify.simplify import
Marc-Andre Lemburg m...@egenix.com added the comment:
Alexander Belopolsky wrote:
Alexander Belopolsky alexander.belopol...@gmail.com added the comment:
On Mon, Apr 9, 2012 at 6:20 PM, Marc-Andre Lemburg
rep...@bugs.python.org wrote:
Which is wrong, since the start of the first ISO week
Nick Coghlan ncogh...@gmail.com added the comment:
I agree we need to add something here to better support the idiom where the
close and delete operations on a NamedTemporaryFile are decoupled without
the delete becoming a completely independent call to os.unlink().
I agree with RDM's
Nick Coghlan ncogh...@gmail.com added the comment:
I converted issue #14243 to a feature request, so this is now a duplicate.
--
nosy: +ncoghlan
resolution: - duplicate
status: open - closed
superseder: - tempfile.NamedTemporaryFile not particularly useful on Windows
1 - 100 of 109 matches
Mail list logo