Re: Private methods

2012-10-09 Thread D.M. Procida
Mark Lawrence  wrote:

> On 09/10/2012 14:24, D.M. Procida wrote:
> > What exactly is the point of a private method? Why or when would I want
> > to use one?
> >
> > Daniele
> >
> 
> Hardly a Python question but using a search engine could have got you
> here, and rather faster :) 
>
http://stackoverflow.com/questions/2620699/why-private-methods-in-the-ob
ject-oriented

Thanks. Sometimes I prefer to talk to real people on Usenet than do web
searches. Just my preference.

Anyway, one of the answers on that page explains that public methods are
interfaces to a class, that other things might rely on, and private ones
are for its own internal logic, that other things don't need to care
about.

In Python, using an underscore is simply a convention to note that a
method is private - it doesn't actually hide it from other things -
correct?

Daniele
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Private methods

2012-10-10 Thread D.M. Procida
Demian Brecht  wrote:

> On 12-10-09 04:51 PM, Steven D'Aprano wrote:
> > Really? I tend to view name mangling as a waste of time, and complex
> > inheritance structures as something to avoid.
> 
> Yep, I've been coming around to this as of late.

I have a lot of inheritance. I don't know whether you'd call it complex,
but I use a lot of mixins to build classes.

It certainly makes it quick to build a class with the attributes I need,
but it does make tracing logic sometimes a pain in the neck.

I don't know what the alternative is though.

Daniele
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: lxml 3.0 final released - efficient XML and HTML processing with Python

2012-10-10 Thread D.M. Procida
Stefan Behnel  wrote:

> it's been a while since the last stable release series appeared, so I'm
> proud to announce the final release of lxml 3.0.

Great. We use it in
.

Thanks.

Daniele
-- 
http://mail.python.org/mailman/listinfo/python-list


[ANN] DjangoCon Europe 2013 call for papers

2012-12-11 Thread D.M. Procida
DjangoCon Europe  will be held in Warsaw from
the 15th-19th May 2013 (three days of talks followed by two of sprints
and workshops).

The organisers are very pleased to invite members of the Django
community to submit their talk proposals for the event.

We're looking for Django and Python enthusiasts, pioneers, adventurers
and anyone else who would like to share their Django achievements and
experiments with the rest of the community.

We are particularly keen to invite submissions from potential speakers
who have not previously considered speaking at an event like this - so
if you haven't, please consider it now!

We really look forward to hearing from you all, and seeing you in Warsaw
next May. 

For more information, see
. 

This call for papers closes on January 8th 2013.

Powodzenia!


Daniele, on behalf of the DjangoCon Europe organising committee.
-- 
http://mail.python.org/mailman/listinfo/python-list


DjangoCon Europe 2012

2012-05-20 Thread D.M. Procida
DjangoCon Europe, the community's biggest European event this year, is
only two weeks away now.

The packed schedule of talks  has
been posted, the site has been updated with useful information about
Zürich , and the conference now has its
own social networking presence 
courtesy of hyperweek.

On top of that, the programme's second keynote speaker has been
announced. 

Jessica McKellar
 is a Python Software Foundation board member and a
maintainer of several important open source Python projects.

Tickets  are still available.
Sign up, join in and enjoy everything that the event has to offer.

Daniele
-- 
http://mail.python.org/mailman/listinfo/python-list


A 35mm film camera represented in Python object

2021-03-07 Thread D.M. Procida
Hi everyone, I've created  -
a representation of a Canonet G-III QL17 in Python.

There's also documentation: .

It's a pure Python model of the physical sub-systems of a camera and
their interactions. So far it's at a fairly high level - I haven't yet
got down to the level of individual springs and levers yet.

I spend quite a bit of my time repairing old cameras. To me they feel
like computer programs encoded into physical objects, and figuring out
how a mechanism works feels like working out how code works (but more
fun).

The Canonet G-III QL17 is one of my favourites. One of my reasons for
writing this code is to appreciate the intricate mechanical logic
embodied in the machine.

You can do things like advance the film, release the shutter, meter the
scene with the built-in light meter (if the camera has a battery of
course) and even spoil your film if you make the mistake of opening the
back in daylight.

>>> from camera import Camera
>>> c = Camera()

>>> c.state()
== Camera state =

-- Controls -
Selected speed:1/120

-- Mechanical ---
Back closed:   True
Lens cap on:   False
Film advance mechanism:False
Frame counter: 0
Shutter cocked:False
Shutter timer: 1/128 seconds
Iris aperture: ƒ/16
Camera exposure settings:  15.0 EV

-- Metering -
Light meter reading:4096 cd/m^2
Exposure target:15.0 EV
Mode:   Shutter priority
Battery:1.44 V
Film speed: 100 ISO

-- Film -
Speed:  100 ISO
Rewound into cartridge: False
Exposed frames: 0 (of 24)
Ruined: False

-- Environment --
Scene luminosity:   4096 cd/m^2

>>> c.film_advance_mechanism.advance()
Cocking shutter
Cocked

>>> c.shutter.trip()
Shutter opens
Shutter closes
Shutter opened for 1/128 seconds
Shutter uncocked

You can't do impossible things:

>>> c.shutter_speed = 1/33
Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/daniele/Repositories/camera/camera.py", line 29, in 
shutter_speed
raise self.NonExistentShutterSpeed(f"Possible shutter speeds are
  {possible_settings}")
camera.NonExistentShutterSpeed: Possible shutter speeds are 1/4, 
  1/8, 1/15, 1/30, 1/60, 1/120, 1/240, 1/500

But you can also do things that you shouldn't do, like opening the back
of the camera in daylight with a partially-exposed roll of film inside -
which will spoil the film::

>>> c.back.open()
Opening back
Resetting frame counter to 0
'Film is ruined'

I hope this interesting to someone.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: A 35mm film camera represented in Python object

2021-03-17 Thread D.M. Procida
Robert Latest  wrote:

> D.M. Procida wrote:
> > Hi everyone, I've created <https://github.com/evildmp/C-is-for-Camera> -
> > a representation of a Canonet G-III QL17 in Python.
> 
> [...]
> 
> > The Canonet G-III QL17 is one of my favourites. One of my reasons for
> > writing this code is to appreciate the intricate mechanical logic
> > embodied in the machine.
> 
> I love both photography with mechanical camears (The Nikon FE2 being my
> favorite) and programming. 

Yes, it's more fun to compute.

> So I absolutely love your project. Also I think its
> totally nuts. 

Thanks, I will take that as a compliment.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: A 35mm film camera represented in Python object

2021-03-17 Thread D.M. Procida
Eli the Bearded <*@eli.users.panix.com> wrote:

> In comp.lang.python,
> D.M. Procida  wrote:
> > Hi everyone, I've created <https://github.com/evildmp/C-is-for-Camera> -
> > a representation of a Canonet G-III QL17 in Python.
> > 
> > There's also documentation: <https://c-is-for-camera.readthedocs.io>.
> 
> This is interesting. Some feedback.
> 
> > It's a pure Python model of the physical sub-systems of a camera and
> > their interactions. So far it's at a fairly high level - I haven't yet
> > got down to the level of individual springs and levers yet.
> 
> There's a wealth of specifics for that camera above individual springs
> and levers. Notably how the light meter performs with different
> batteries and how it works with other films. This much is clear from
> just a few minutes research on the Canonet G-III QL17 (what a mouthful
> of a name).
> 
> I'm guessing you plan to deal light meter quirks because of the battery
> voltage setting. 

You're absolutely right. In fact, the camera is initialised with a
battery with a certain voltage, and eventually the voltage needs to make
a difference to the behaviour of the metering circuit. However I haven't
figured that out yet.

> I see you don't even attempt to tackle ISO outside of
> supported range (and I have no idea how the camera itself deals with
> that). Is the camera sensing the ISO from the film roll (so won't work
> with hand rolled film cartridges)? Is there a setting on the camera to
> manually specify that? (I don't think so.)

The camera's film speed setting (it's old enough that it's ASA rather
than ISO) is set manually. If you try to set an illegal value, there's a
setter decorator that raises a NonExistentFilmSpeed exception.
 
> Film spoilage isn't boolean in real life. If I rewind most, but not all
> of the way, before I open the back, I've only ruined a few frames. If I
> open it in a lightproof camera bag, I can take the roll out without
> rewinding.

I was going to settle for having the exposed frames ruined, if the
camera is opened in an environment of sufficient luminosity.
 
> On this camera, there's no manual double exposure setting, right? So
> partial rewind would be the way to do that. But I can make double
> exposures with this code:
> 
> >>> c.shutter.trip()
> >>> c.shutter.cock()
> >>> c.shutter.trip()

That's true - but only because I haven't yet finished adding the camera
controls. In normal use, you would only interact with the camera
controls, whereas c.shutter.trip() and so on are interacting with the
internal mechanisms.

I have to add a button and winder lever to the camera object itself, I'm
doing those things bit by bit.
 
> Does a camera like the one you have modelled that actively stop you from
> using a ISO/shutter speed/F-stop that will vastly over- or under- expose
> things? Or is it just a warning light in the viewfinder?

In A mode (shutter-priority autoexposure) it will simply not allow the
shutter to be tripped if the exposure is not within range. In manual
mode, there are no constraints.

> A useful thing your camera-as-code model could provide, but doesn't, is
> some measure of how exposed each frame is. This will be a function of
> film speed, iris setting, cumulative exposure time from zero or more
> shutter openings, and scene luminosity. (You could extend this to
> include opened back over exposure conditions.)

Yes, it would be fun to allow it to "take a picture" of an image file,
and process the result. Or ultimately built into a web application using
somehting like https://anvil.works and have take a real picture with a
user's webcam.

Thanks for the interest!

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: A 35mm film camera represented in Python object

2021-03-18 Thread D.M. Procida
Eli the Bearded <*@eli.users.panix.com> wrote:

> In comp.lang.python,
> D.M. Procida  wrote:
> > Eli the Bearded <*@eli.users.panix.com> wrote:
> >> I see you don't even attempt to tackle ISO outside of
> >> supported range (and I have no idea how the camera itself deals with
> >> that). Is the camera sensing the ISO from the film roll (so won't work
> >> with hand rolled film cartridges)? Is there a setting on the camera to
> >> manually specify that? (I don't think so.)
> > The camera's film speed setting (it's old enough that it's ASA rather
> > than ISO) is set manually. If you try to set an illegal value, there's a
> > setter decorator that raises a NonExistentFilmSpeed exception.
> 
> I can see what the code does, I'm asking what the camera does and do you
> plan to work that into your code? Maybe it only works for ISO 1600 in
> manual mode, but works.

The code does what the camera allows - the camera has a ring with film
speeds of 25, 50, 100, 200, 400, 800 marked on it; those are the values
you can select (in fact there are two unmarked steps in between each of
those, but I've yet to build those in).

Internally, moving the film speed ring slides contacts along a variable
resistor, which is part of the metering system circuitry. It could be
that the range of the resistor or the theoretical range of the circuit
is beyond the settable values, but I can't work that out from the
circuit diagram.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: A 35mm film camera represented in Python object

2021-03-18 Thread D.M. Procida
Lee Congdon  wrote:

> Note also 36 exposure film.

That depends on how many frames the Film object has!

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: A 35mm film camera represented in Python object

2021-04-01 Thread D.M. Procida
D.M. Procida  wrote:

> Hi everyone, I've created <https://github.com/evildmp/C-is-for-Camera> -
> a representation of a Canonet G-III QL17 in Python.
> 
> There's also documentation: <https://c-is-for-camera.readthedocs.io>.
> 
> It's a pure Python model of the physical sub-systems of a camera and
> their interactions. So far it's at a fairly high level - I haven't yet
> got down to the level of individual springs and levers yet.

I'm now working on the exposure system, which in the published version
so far just models inputs and outputs of the system as a whole. I want
to start to model its functionality by modelling the interactions of its
components - the levers, cams and so on.

It seems to me I have fundamentally two approaches that I could take:

The first is to model the movement of each lever as a series of discrete
steps (hundreds of tiny steps, to maintain accuracy). Pro: it models
movement through physical positions; con: it's ugly that it breaks
continuous movement into arbitrary steps.

The second is not to move each lever in such detail, but to consider its
interactions: given the state of each of the other parts of the system,
what *would* be the outcome if something were to try to move the lever
from such-and-such a position to another? Pro: it feels more elegant
than the brute-force stepping of the alternative; con: it also feels
like a bit of a cheat.

But neither approach really captures for me the interaction of moving
analog components, which in the case of this camera also have some
circular logic to them - the movement of A determines that of B which
determines that of C which determines that of D which finally also
affects the movement of A.

Any thoughts or wise ideas? 

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


py.test/tox InvocationError

2016-10-16 Thread D.M. Procida
When I run:

   py.test --cov=akestra_utilities --cov=akestra_image_plugin
--cov=chaining --cov=contacts_and_people --cov=housekeeping --cov=links
--cov=news_and_events --cov=vacancies_and_studentships --cov=video
--cov-report=term-missing example tests

it works quite happily.

When I run tox -e coveralls, which runs the same thing, it raises an
InvocationError.

You can see the same error at
.

Any suggestions on what is different in the two cases?

Thanks,

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Running PyGame on OS X

2016-04-26 Thread D.M. Procida
I have PyGame installed.

As soon as I run pygame.init() or pygame.display.init(), a PyGame icon
will pop up in the Dock, and then its application will simply stop
responding. Needless to say, I can't actually do anything with it.

What is this application, and what is likely the problem with it?

Thanks,

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Setting up for python django development with Debian Linux

2013-11-13 Thread D.M. Procida
Gary Roach  wrote:

> I have been trying to set up a python, django, mysql, virtualenvwrapper
> and git development project and am really confused. All of the 
> documentation seems to ignore the apt-get installation methods used by
> Debian Linux and its derivatives. 

I assume you've either worked this out or given up by now, but in any
case...

> Does pip install the same as apt-get; I don't think so. If I use
> virtualenvwrapper, how does this fit with the normal debian (wheezy)
> installation.

Firstly, pip doesn't install in the same way apt-get does. 

The general rule is: if it's a Python package (such as Django) use pip;
if it's not (such as MySQL) use apt-get.

Secondly, there is little if any need to install Python packages outside
a virtualenv. It's almost always more convenient to have them in a
virtualenv, rather than system-wide.

> I also need git which just confuses 
> the situation even more. Must I give up the automatic updating system
> that Debian provides when setting up the development environment? 

I just use apt-get to install Git and update it every now and then.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Django Weekend Cardiff

2013-11-14 Thread D.M. Procida
(With apologies if you have already seen this on another email list or
newsgroup.)

The UK's first-ever Django conference will take place on the 7th-9th
February 2014 in Cardiff, Wales.



The programme for the event:

Friday: tutorials and demonstrations (also open to the public)
Saturday:   talks
Sunday: code sprints and clinics

The conference is Django-focused, but all of all aspects of Python fall
within its remit - particularly in the tutorials and workshops.

A venue has been booked at Cardiff University.

Registration and ticket sales will open soon, as well as a call for
papers.

To be a success, the conference needs the support of:

*   people in Wales, the UK and beyond who will participate as
attendees or volunteers
*   speakers who'd like to give talks or conduct tutorials
*   organisations locally and internationally willing to provide
sponsorship or other support

If you can offer support, please get in touch.

One of the aims of the conference is to establish it as an annual event
that will raise the profile in Wales of open-source software in general
and  Python in particular, and also bolster the local open-source
software community here. 

Above all, however, the intention is to establish the Django Weekend in
Cardiff as a meaningful and enjoyable date in the Django/Python
calendar.

We'll publish updates on our website, our Twitter account
 and elsewhere as appropriate.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Django Weekend Cardiff

2013-11-15 Thread D.M. Procida
(With apologies if you have already seen this on another email list or
newsgroup.)

The UK's first-ever Django conference will take place on the 7th-9th
February 2014 in Cardiff, Wales.



The programme for the event:

Friday: tutorials and demonstrations (also open to the public)
Saturday:   talks
Sunday: code sprints and clinics

The conference is Django-focused, but all of all aspects of Python fall
within its remit - particularly in the tutorials and workshops.

A venue has been booked at Cardiff University.

Registration and ticket sales will open soon, as well as a call for
papers.

To be a success, the conference needs the support of:

*   people in Wales, the UK and beyond who will participate as
attendees or volunteers
*   speakers who'd like to give talks or conduct tutorials
*   organisations locally and internationally willing to provide
sponsorship or other support

If you can offer support, please get in touch.

One of the aims of the conference is to establish it as an annual event
that will raise the profile in Wales of open-source software in general
and  Python in particular, and also bolster the local open-source
software community here. 

Above all, however, the intention is to establish the Django Weekend in
Cardiff as a meaningful and enjoyable date in the Django/Python
calendar.

We'll publish updates on our website, our Twitter account
 and elsewhere as appropriate.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


A day of free Python & Django talks & tutorials, Cardiff (UK)

2014-01-21 Thread D.M. Procida
Django Weekend Cardiff  is completely sold
out.

Our open day remains open however, and you're invited to attend the
numerous talks, tutorials and demonstrations in the programme. They'll
all be held at Cardiff University.



There are fifteen different sessions in the open day programme, on all
kinds of subjects - from medicine to robotics - and at various levels of
technical complexity.

One of the key audiences for the open day is developers who want to
learn more about Python and Django  so if that's you, you're especially
welcome.

Another key audience is A-level science pupils and teachers, and we have
a number of talks that have been devised with them in mind - so if you
know any, please point them in our direction, as we'll be very pleased
to see them.

All the sessions are free, and refreshments will be provided.

Registration is required so we know how many people to expect, and
places in the tutorials will be limited.

The sooner you register the better it is for us, because we have to plan
catering, access and other practicalities - so please do it as soon as
you can!

Register: 

And finally, do pass on details of the open day to anyone else whom you
think might be interested.

Thanks,

Daniele
-- 
Django Weekend Cardiff, the first-ever Django conference in the UK
Three days of Django/Python talks, tutorials and code sprints


-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3 virtualenvs

2015-11-27 Thread D.M. Procida
I have a new installation of Debian Jessie, with Python 2.7 and 3.4
installed.

I want to use Python 3.4 by default for most things, so I want
virtualenv to create Python 3.4 virtualenvs unless I ask it to
otherwise.

It turns out that this seems to be inordinately complex.

The best solution I have come up with is to alias virtualenv to
'virtualenv -p python3.5', which seems really ugly and clunky.

Then I discover things like

and realise it's not just me, it really is a nasty mess and nobody seems
to understand what's going on.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python 3 virtualenvs

2015-11-27 Thread D.M. Procida
Laura Creighton  wrote:

> In a message of Sat, 28 Nov 2015 00:37:21 +0000, D.M. Procida writes:
> >I have a new installation of Debian Jessie, with Python 2.7 and 3.4
> >installed.
> >
> >I want to use Python 3.4 by default for most things, so I want
> >virtualenv to create Python 3.4 virtualenvs unless I ask it to
> >otherwise.
> >
> >It turns out that this seems to be inordinately complex.
> >
> >The best solution I have come up with is to alias virtualenv to
> >'virtualenv -p python3.5', which seems really ugly and clunky.
> 
> This will get you python3.5 which I infinitely prefer over 3.4. 
> But you said you wanted to use 3.4 ...

Typo!

> >Then I discover things like
> ><http://askubuntu.com/questions/603935/pyvenv-vs-venv-vs-python-virtualen
> >v-vs-virtualenv-and-python-3> and realise it's not just me, it really is
> >a nasty mess and nobody seems to understand what's going on.

> What I found out.
> https://bugs.python.org/issue25151
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732703
> https://bugs.python.org/issue25152
> https://bugs.python.org/issue25154

Good lord.

> I've long ago aliased virtualenv to v, so things aren't as clunky
> for me.

I'll stick with virtualenv as an alias to virtualenv -p python3.5.
 
Thanks,

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python 3 virtualenvs

2015-11-28 Thread D.M. Procida
Jon Ribbens  wrote:

> On 2015-11-28, D.M. Procida 
wrote:
> > I have a new installation of Debian Jessie, with Python 2.7 and 3.4
> > installed.
> >
> > I want to use Python 3.4 by default for most things, so I want
> > virtualenv to create Python 3.4 virtualenvs unless I ask it to
> > otherwise.
> >
> > It turns out that this seems to be inordinately complex.
> 
> sudo apt-get remove python-virtualenv
> sudo apt-get install python3-virtualenv

Yup, I did try installing python3-virtualenv, but it didn't appear
actually do do anything. It didn't provide me with a virtualenv command,
that's for sure.

And pages such as https://packages.debian.org/jessie/python3-virtualenv
are not exactly informative.

Is something else required?

Daniele 
-- 
https://mail.python.org/mailman/listinfo/python-list


Textarc recreation in Jupyter Notebook

2015-12-27 Thread D.M. Procida
Maybe you remember , which creates an
interactive representation of relationships within a text.

Textarc doesn't work for me on OS X any more, but I did find a
JavaScript recreation,  (code:
).

I'd like to try recreating and maybe extending it in Jupyter Notebook. 

Is anyone else interested in working on this as a project (for fun)?

I'm pretty new to Notebook, so it will definitely be a learning project
for me.

I'm interested in using programs to explore texts generally. Here's a
re-creation of Ulises Carrión's "Hamlet, for two voices" in Python:
.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


Python Namibia 2015

2014-11-01 Thread D.M. Procida
Python Namibia 2015 will be Namibia's first-ever Python conference.

http://python-namibia.org

We're building an interesting programme of talks and other activities,
and we're seeking more. 

You can find more information about the kind of thing we're looking for,
with a link to the proposal submission form, at:

http://python-namibia.org/programme/

We'd like to have a wide range of perspectives represented - talks and
activities aimed at an audience with a variety of different levels of
expertise, and covering many different applications of Python.

If you're not sure about how to frame your proposal, just drop me a
line.

Thanks!

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


DjangoCon Europe 2015, in Cardiff, Wales

2015-01-03 Thread D.M. Procida
In 2015, DjangoCon Europe is coming to Cardiff:
 - the first-ever six-day DjangoCon.

The conference will begin with an open day (as in, open to anyone who
feels like coming) of free talks and tutorials, aimed at introducing new
people to Python and Django and the communities around them.

Registration's now open:


Hope to see you there. Maybe someone can even do a lightning talk about
comp.lang.python to introduce all the young whippersnappers to Usenet...

Daniele
-- 
DjangoCon Europe 2015 in Cardiff, 2nd to 7th June. 
Six days of talks, tutorials and code.


-- 
https://mail.python.org/mailman/listinfo/python-list


PROPOSAL: PyCons in Africa

2013-10-09 Thread D.M. Procida
[reposted; the previous one didn't seem to make it out!]

I have a written a first draft outlining a proposal for a PyCon in a
sub-Saharan African nation where there has never been one.



There's an email list for people interested in becoming involved in the
idea: .

I'm seeking support for the proposal, from all parties who'd need to be
involved, from Python user groups in African cities where a PyCon might
be viable, to people who'd want to take part and the wider Python
community.

If anyone would like to add themselves to the list of potential
collaborators on this, please do so using GitHub:
. If you can't do that, just ask me to add the information.

There's a wiki on GitHub too:
.

I'm also seeking critical opinions on this, so if you think it's a poor
idea, or poorly conceived, or that there would be better ways to achieve
the aims in the proposal, or something key that's missing from it, I
would like to hear why you think that, so I can address any problems.

Thanks,

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


PyCon Namibia 2015

2015-10-18 Thread D.M. Procida
PyCon Namibia 2016 will be held in Windhoek, at the University of
Namibia, 24th-29th January.

 for more information.

Regards,

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list


PyCon Namibia 2016 (was: PyCon Namibia 2015)

2015-10-18 Thread D.M. Procida
D.M. Procida  wrote:

> PyCon Namibia 2016 will be held in Windhoek, at the University of
> Namibia, 24th-29th January.
> 
> <http://na.pycon.org> for more information.

Subject: corrected, sorry.

Daniele
-- 
https://mail.python.org/mailman/listinfo/python-list