my python is not working

2019-10-14 Thread KAMALDEEP GUPTA


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


Re: python3, regular expression and bytes text

2019-10-14 Thread Eko palypse
Am Sonntag, 13. Oktober 2019 21:20:26 UTC+2 schrieb moi:
> [Do not know why I spent hours with this...]
> 
> To answer you question. 
> Yes, I confirm.
> It seems that as soon as one works with bytes and when
> a char is encoded in more than 1 byte, "re" goes into
> troubles.
> 

First, sorry for answering so late but I double checked my mail inbox and there 
is no notification that you have answered, whereas I got a notification for 
each of the other posts. Not sure what happened.
Thx for confirmation.

> Something else.
> I do not like to use "\w". One can rapidly be confronted with
> annoying boundary limits. A while loop can be much more "fine
> grained" and it works with everything, bytes, encoded chars,
> code points...

As the whole idea is, maybe I should use "was" by now, 
to build a regex tester script, it seems to be logical to use
regular expressions, isn't it. :-)

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


Re: python3, regular expression and bytes text

2019-10-14 Thread Chris Angelico
On Mon, Oct 14, 2019 at 10:41 PM Eko palypse  wrote:
>
> Am Sonntag, 13. Oktober 2019 21:20:26 UTC+2 schrieb moi:
> > [Do not know why I spent hours with this...]
> >
> > To answer you question.
> > Yes, I confirm.
> > It seems that as soon as one works with bytes and when
> > a char is encoded in more than 1 byte, "re" goes into
> > troubles.
> >
>
> First, sorry for answering so late but I double checked my mail inbox and 
> there is no notification that you have answered, whereas I got a notification 
> for each of the other posts. Not sure what happened.
> Thx for confirmation.
>

Is this the person who uses a forged Gmail address as his posting
address? For utterly unsurprising reasons, those posts simply ARE NOT
VISIBLE to a large number of people, including anyone who is
themselves using Gmail.

Don't use a forged address. If you want to use a fake address, use a
*legitimate* fake address, such as one ending ".invalid". Or use an
address at a domain that you own and control, and make sure that the
appropriate security information is set (eg don't have an SPF record
that says "-all"). There are lots of options. Stop abusing Gmail
addresses.

(My apologies for saying this in reply to an unrelated post, but I
also don't see those posts, so it's not easy to reply to them.)

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


Re: python3, regular expression and bytes text

2019-10-14 Thread Eko palypse
Am Montag, 14. Oktober 2019 13:56:09 UTC+2 schrieb Chris Angelico:
> 
> (My apologies for saying this in reply to an unrelated post, but I
> also don't see those posts, so it's not easy to reply to them.)
> 
> ChrisA

Nothing to apologize and thank you for clarification,
I was already checking my settings to see if I could have set
some kind of filtering which I wasn't aware.

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


Re: my python is not working

2019-10-14 Thread Igor Korot
Hi,

On Mon, Oct 14, 2019 at 5:41 AM KAMALDEEP GUPTA
 wrote:
>
>

What did yu do differently than all other people

Thank you.

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


Re: my python is not working

2019-10-14 Thread Tony van der Hoff
On 14/10/2019 09:52, KAMALDEEP GUPTA wrote:
> 


Mine is!

-- 
Tony van der Hoff| mailto:t...@vanderhoff.org
Buckinghamshire, England |
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: upgrading python on raspbian

2019-10-14 Thread Gene Heskett
On Sunday 13 October 2019 16:22:33 Chris Angelico wrote:

> On Mon, Oct 14, 2019 at 6:38 AM Gene Heskett  
wrote:
> > I'm not a python expert by a long ways.
> >
> > I have built the linuxcnc-master, which is the development branch of
> > linuxcnc, a machine control program to run most metal carving
> > machines. Lathes, milling machines, anything you can motorize,
> > LinuxCNC can run.
> >
> > This requires a preempt-rt kernel which I've managed to build and
> > install, all on a pi-4b running raspbian buster, the armfh-v7l
> > version of debian 10.1.
> >
> > But linuxcnc is quite elderly code, some of it going back to before
> > there was a linux, so despite being actively developed right now for
> > x86 type hardware but has quite a list of missing dependencies I
> > cannot satisfy from the raspbian repos.
> >
> > They are:
> >
> > The following packages have unmet dependencies:
> >  linuxcnc-uspace : Depends: python2.7-glade2 but it is not
> > installable or
> >
> > Can anyone supply a list of python3 packages that will cover the
> > functions contained in the above list?, and I will attempt to edit
> > the linuxcnc srcs to use the more modern code base?
>
> So if I understand you correctly, you're not worried about actually
> supplying these apt packages, but you want equivalents so you can port
> the code itself to Py3?

I think thats the obvious path forward. Once ported, we don't have to 
worry about that legacy stuff for two or 3 generations of linux. I have 
it building on raspbian buster-10.1 for a rpi4b right now in "uspace" 
mode, but missing stuff has cost us a couple of the pretty gui-faces we 
use with it, and I'd like to find a way around that if I could.

> My recommendation would be to start with "sudo apt build-dep
> linuxcnc-uspace" and see if it can get any, but otherwise, just
> replace "python-" with "python3-" and see if that works. You may need
> to dig up dev packages of them though.

The 2 packages that are missing right now are python-gtksourceview2, and 
python-vte.  Do they have python3 equ's? Finding python3 replacements 
for those 2 would take some pressure off its forward march.

as far as build dep detection, dpkg-checkbuilddeps is as dumb as a rock. 
I've had to add at least ten packages now to get it to build, that were 
never detected by dpkg-checkbuilddeps. And its major stuff, like 
inkscape and imagemagick. checkbuilddeps is ok before a 1st build, 
finding 50 or so things it needed, but for major stuff, a waste of time 
after the first session.

> Another option may be to just use pip to install your dependencies.
> That might work out easier.

There seems to be an underground effort to throw pip and pip3 under the 
bus of late. I'm wonder why?

Thanks ChrisA.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: upgrading python on raspbian

2019-10-14 Thread Chris Angelico
On Tue, Oct 15, 2019 at 1:53 AM Gene Heskett  wrote:
>
> On Sunday 13 October 2019 16:22:33 Chris Angelico wrote:
> > My recommendation would be to start with "sudo apt build-dep
> > linuxcnc-uspace" and see if it can get any, but otherwise, just
> > replace "python-" with "python3-" and see if that works. You may need
> > to dig up dev packages of them though.
>
> The 2 packages that are missing right now are python-gtksourceview2, and
> python-vte.  Do they have python3 equ's? Finding python3 replacements
> for those 2 would take some pressure off its forward march.

Hmm. The GTK SourceView control has been a bit of a pain in previous
porting jobs. You may end up needing to build something from source.
Sorry :(

> > Another option may be to just use pip to install your dependencies.
> > That might work out easier.
>
> There seems to be an underground effort to throw pip and pip3 under the
> bus of late. I'm wonder why?
>

No idea. If you're talking about the way that "python3 -m pip install
..." is preferred over "pip3 install ...", then that's due to the
possibility of having multiple Pythons installed; but if you're using
a virtual environment, or you're confident you have full control over
your setup, you can just use the shorthand.

That's still using pip, though. Just not using /usr/local/bin/pip (or
equiv) to invoke it.

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


Re: upgrading python on raspbian

2019-10-14 Thread Michael Torrie
On 10/14/19 8:52 AM, Gene Heskett wrote:
> I think thats the obvious path forward. Once ported, we don't have to 
> worry about that legacy stuff for two or 3 generations of linux. 

A worthy goal and I'm sure the LinuxCNC folk would be grateful for
contributions.  Be aware that porting the python code is only half the
problem, though. In order to make it work with Python 3, you'll have to
also address the embedding issue. Python is interconnected with LinuxCNC
through some generated bindings to C and also C++ code.  I'm not sure
what they used for the C++ bindings, maybe boost?  There was some
discussion of this on the bug tracker and it looks like a fairly major
undertaking.  See this year-old discussion:
https://github.com/LinuxCNC/linuxcnc/issues/403

Whatever you do, you probably will want to discuss it on the github
issue tracker to make sure efforts aren't duplicated.

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


Re: my python is not working

2019-10-14 Thread Yasin Suluhan
Thank god for that.

--
Thank You.
Best Regards.

Yasin SULUHAN
Contact Information
Mobile: +31 6 86107491


On Mon, Oct 14, 2019 at 12:41 PM KAMALDEEP GUPTA 
wrote:

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


Re: upgrading python on raspbian

2019-10-14 Thread Michael Torrie
On 10/14/19 10:00 AM, Michael Torrie wrote:
> https://github.com/LinuxCNC/linuxcnc/issues/403
> 
> Whatever you do, you probably will want to discuss it on the github
> issue tracker to make sure efforts aren't duplicated.

Reading further, it appears that the binding and embedding python 3 has
been worked on and functions to a certain degree, which you probably
already knew.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: upgrading python on raspbian

2019-10-14 Thread Gene Heskett
On Monday 14 October 2019 12:00:42 Michael Torrie wrote:

> On 10/14/19 8:52 AM, Gene Heskett wrote:
> > I think thats the obvious path forward. Once ported, we don't have
> > to worry about that legacy stuff for two or 3 generations of linux.
>
> A worthy goal and I'm sure the LinuxCNC folk would be grateful for
> contributions.  Be aware that porting the python code is only half the
> problem, though. In order to make it work with Python 3, you'll have
> to also address the embedding issue. Python is interconnected with
> LinuxCNC through some generated bindings to C and also C++ code.  I'm
> not sure what they used for the C++ bindings, maybe boost?

I saw some of that go by in the latest builds. So I'm aware there is 
that, and some c++ being used here and there, but not how its all 
interconnected.

> There was 
> some discussion of this on the bug tracker and it looks like a fairly
> major undertaking.  See this year-old discussion:
> https://github.com/LinuxCNC/linuxcnc/issues/403
>
> Whatever you do, you probably will want to discuss it on the github
> issue tracker to make sure efforts aren't duplicated.

True too. But so far, I get the feeling progress has slowed because folks 
are busier than in years past. But I'm not the new blood they need, 
mines already 85 years old, but I currently have a machine dead in the 
water until I at least make it work for me.  I used a pi3 two years ago 
to run the machine, which it does that quite well but the video is best 
described as glacial. Now with buster we have 40x faster video, and I'm 
trying to upgrade to a pi4b in hopes of haveing something resembling 
realtime video. 1.7 fps from the pi3's framebuffer, just isn't "it".

At the instant, it appears our ability to control the spi drivers com 
speeds, has been lost in adding 2 or more new cards that Mesa has since 
developed at the same time its being adapted to run on either a pi3 or a 
pi4.  But that driver developer is a busy college prof 1/3rd of the way 
around this damp rock, so we're out of synch in our coms. Plus I'm also 
the care-giver for an injured and dying of COPD wife.  Not looking for 
sympathy, just saying.

Avoid getting old if you can, Michael, its not all its cracked up to be.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Odd delays when cwd is on a network mount

2019-10-14 Thread Tobiah

On 10/11/19 6:04 PM, Gregory Ewing wrote:

Cameron Simpson wrote:
Python's default sys.path includes the current working directory. 


Only in an interactive session, where it usually makes sense.



I was only using the REPL for demonstration.  The same delay
happens when I import a module in a script.  The module file
is on the local drive.  I only have to have a CWD on the mounted
drive to experience the 25 second delay.  As I said, the mount
is over a 5mb connection - it's not wildly quick but it's quite
usable normally.


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


Re: Odd delays when cwd is on a network mount

2019-10-14 Thread Skip Montanaro
>
> The module file
> is on the local drive.  I only have to have a CWD on the mounted
> drive to experience the 25 second delay.
>

Coming late to the party, but it sounds like the directory is further down
sys.path than your current working directory (and possibly other
network-mounted directories).

Skip

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


Re: Jupyter Notebook -> PDF with A4 pages?

2019-10-14 Thread Martin Schöön
Den 2019-10-13 skrev Piet van Oostrum :
> Martin Schöön  writes:
>
>> Is there a way to do "Download as PDF" and get A4 pages instead
>> of Letter? Yes, I know I can do "Download as LaTeX" and edit the
>
< snip >

> Make a directory ~/.jupyter/templates and put a file A4article.tplx inside it:
>
> #
> ((=- Default to the notebook output style -=))
> ((* if not cell_style is defined *))
> ((* set cell_style = 'style_jupyter.tplx' *))
> ((* endif *))
>
< snip >

> c.LatexExporter.template_file = 'A4article'
> c.PDFExporter.latex_count = 3
> c.PDFExporter.template_file = 'A4article'
> c.PDFExporter.latex_command = ['pdflatex', '{filename}']
> #
> Replace 'pdflatex' with 'xelatex' if you prefer that.
> You can leave out the c.LatexExporter.template_file line if
> you don't want the LaTeX exporter to generate A4.
>
Thanks a lot.

That worked right away -- at home but not at work. Both are 
Linux systems but there are differences in both Python and
LaTeX installations. Shouldn't be too hard to figure out --
I hope.

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


[RELEASE] Python 3.8.0 is now available

2019-10-14 Thread Łukasz Langa
On behalf of the Python development community and the Python 3.8 release team, 
I’m pleased to announce the availability of Python 3.8.0.

Python 3.8.0 is the newest feature release of the Python language, and it 
contains many new features and optimizations. You can find Python 3.8.0 here:

https://www.python.org/downloads/release/python-380/ 

Most third-party distributors of Python should be making 3.8.0 packages 
available soon.

See the “What’s New in Python 3.8 
” document for more information 
about features included in the 3.8 series. Detailed information about all 
changes made in 3.8.0 can be found in its change log.

Maintenance releases for the 3.8 series will follow at regular bi-monthly 
intervals starting in December of 2019.

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 

- Ł


signature.asc
Description: Message signed with OpenPGP
-- 
https://mail.python.org/mailman/listinfo/python-list


Instantiating sub-class from super

2019-10-14 Thread DL Neil via Python-list
Is there a technique or pattern for taking a (partially-) populated 
instance of a class, and re-creating it as an instance of one of its 
sub-classes?



In a medically-oriented situation, we have a Person() class, and start 
collecting information within an instance (person = Person(), etc).


During the data-collection process the person's sex may become obvious, 
eg few males have become/been pregnant.


We could stick with Person() and implement specific methods therein, 
rather than separate Man and Woman sub-classes, but...


It seemed better (at the design-level) to have Man( Person ) and Woman( 
Person ) sub-classes to contain the pertinent attributes, source more 
detailed and specific questions, and collect such data; by gender.


In coding-practice, once gender becomes apparent, how should the 
instance of the Man() or Woman() sub-class be created - and established 
with the ID and other attributes previously collected as a Person instance?


This attempt seems hack-y:

man = Man()
man.__dict__.update( person.__dict__ )


Is there a pythonic tool for such, or is the task outlined 
fundamentally-inappropriate?


--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list


Re: Odd delays when cwd is on a network mount

2019-10-14 Thread Cameron Simpson

On 14Oct2019 10:06, Tobiah  wrote:

On 10/11/19 6:04 PM, Gregory Ewing wrote:

Cameron Simpson wrote:

Python's default sys.path includes the current working directory.


Only in an interactive session, where it usually makes sense.


I was only using the REPL for demonstration.  The same delay
happens when I import a module in a script.  The module file
is on the local drive.  I only have to have a CWD on the mounted
drive to experience the 25 second delay.  As I said, the mount
is over a 5mb connection - it's not wildly quick but it's quite
usable normally.


If it is that slow, try (assumes linux):

 strace python your_script

It is possible you will get to see where the script stalls. May make 
things more obvious. It the least it will show you where the script is 
looking for things.


Cheers,
Cameron Simpson 
--
https://mail.python.org/mailman/listinfo/python-list


Re: Jupyter Notebook -> PDF with A4 pages?

2019-10-14 Thread David Lowry-Duda
> Is there a way to do "Download as PDF" and get A4 pages instead
> of Letter? Yes, I know I can do "Download as LaTeX" and edit the
> result to get A4 but if there is a setting I have missed I save
> work and time.

I typically use the "nbconvert" tool (that one typically installs at the 
same time as installing jupyter). Behind the scenes, this goes through 
latex (and through pandoc in particular). It seems most natural to 
convert to latex.

One can specify a template to be used in nbconvert. See

https://nbconvert.readthedocs.io/en/latest/usage.html

for a bit more on this. The template is really used in the same way that 
templates are passed with pandoc. Alternately, if you didn't want to 
muck around with figuring out how to specify your own template, you 
could just modify the first line of the generated tex file to something 
like

\documentclass[12pt, a4paper]{article}


If you wanted a completely different (and perhaps lackluster) approach, 
you could just view the notebook in your favorite browser and 
print-to-pdf.

Good luck!

DLD

--
David Lowry-Duda  
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Instantiating sub-class from super

2019-10-14 Thread Gregory Ewing

DL Neil wrote:
Is there a technique or pattern for taking a (partially-) populated 
instance of a class, and re-creating it as an instance of one of its 
sub-classes?


Often you can assign to the __class__ attribute of an instance
to change its class.

Python 3.7.3 (default, Apr  8 2019, 22:20:19)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> class Person:
...  pass
...
>>> class Male(Person):
...  pass
...
>>> p = Person()
>>> p.__class__ = Male
>>> isinstance(p, Male)
True
>>>

You would then be responsible for initialising any attributes of
Male that Person didn't have.

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


Re: Instantiating sub-class from super

2019-10-14 Thread DL Neil via Python-list

Hi Greg,


On 15/10/19 11:37 AM, Gregory Ewing wrote:

DL Neil wrote:
Is there a technique or pattern for taking a (partially-) populated 
instance of a class, and re-creating it as an instance of one of its 
sub-classes?


Often you can assign to the __class__ attribute of an instance
to change its class.

Python 3.7.3 (default, Apr  8 2019, 22:20:19)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>> class Person:
...  pass
...
 >>> class Male(Person):
...  pass
...
 >>> p = Person()
 >>> p.__class__ = Male
 >>> isinstance(p, Male)
True
 >>>


Brilliantly easy. Thanks!

Is this manipulation documented/explained anywhere? Would you describe 
it as 'good practice', or even: sensible?




You would then be responsible for initialising any attributes of
Male that Person didn't have.


Understood.

The contents of Person.__init__( -whatever- ) are executed at instantiation.

The contents of Male.__init__( - whatever- ) will be executed during a 
'normal' instantiation.


If, however, a Person-instance is 'converted'* into a Male-instance, 
then Male.__init__() will not be executed.

(haven't bothered to experiment with an explicit call, because...)


In this case, that is not an issue, because apart from the value of 
"sex", the __init__() actions are all provided by super().


Further experimentation revealed something I wasn't sure to expect. Thus 
although:


class Male( Person ):
etc
class Person():
etc

won't work, because Person has yet to be defined; in the correct 
sequence, we *can* 'anticipate' names within the super-class:


class Person():
etc
def convert( self ):
self.__class__ = Male
class Male( Person ):
etc

Agreed, better is:

def convert( self, sub_class ):
self.__class__ = sub_class
...
p = Person()
p.convert( Male )

Amusingly enough, could "convert"* the p-instance again-and-again.

* careful terminology!


PoC code:

class Person():

def __init__( self ):
self.ID = "Respondent"
self.converter = { "M":Male, "F":Female }


def questionnaire( self, sex ):
self.sex = sex

def super_function( self ):
print( "Pulling on tights and donning cape..." )

def convert( self ):
self.__class__ = self.converter[ self.sex ] 


class Male( Person ):

def male_only( self ):
print( "I am secure in my man-hood" )


class Female( Person ):

def female_only( self ):
print( "Thy name is vanity" )


p = Person()

print( "PersonOBJ ~", p )
print( "Person __class__ ~", p.__class__ )
print( "PersonID ~", p.ID )

p.questionnaire( "M" )
print( "M, MaleOBJ ~", p.sex, p.converter[ p.sex ] )
p.convert()

print( "PersonOBJ ~", p )
print( "Person __class__ ~", p.__class__ )
print( "PersonID ~", p.ID )

p.male_only()
p.super_function()

p.questionnaire( "F" )
print( "F, FemaleOBJ ~", p.sex, p.converter[ p.sex ] )
p.convert()

print( "PersonOBJ ~", p )
print( "Person __class__ ~", p.__class__ )
print( "PersonID ~", p.ID )

p.female_only()
p.super_function()

p.male_only()   # Exception


Output:
Showing that:
- the object remains the same, even as its type/class is 'converted'
- the object retains any value established before 'conversion'
or, the 'conversion' process carries-across all data-attributes
- after conversion the sub-class's methods become available
- after conversion the super-class's methods remain available
- after a further 'conversion', the same experience
but methods particular to the first conversion have been 'lost'.
(as expected)

[~]$ python3 person.py
PersonOBJ ~ <__main__.Person object at 0x7f014085bdd0>
Person __class__ ~ 
PersonID ~ Respondent
M, MaleOBJ ~ M 
PersonOBJ ~ <__main__.Male object at 0x7f014085bdd0>
Person __class__ ~ 
PersonID ~ Respondent
I am secure in my man-hood
Pulling on tights and donning cape...
F, FemaleOBJ ~ F 
PersonOBJ ~ <__main__.Female object at 0x7f014085bdd0>
Person __class__ ~ 
PersonID ~ Respondent
Thy name is vanity
Pulling on tights and donning cape...
Traceback (most recent call last):
  File "person.py", line 58, in 
p.male_only()   # Exception
AttributeError: 'Female' object has no attribute 'male_only'


--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list


Re: [RELEASE] Python 3.8.0 is now available

2019-10-14 Thread Wesley Peng

awesome news. thanks for all the hard work.

on 2019/10/15 4:23, Łukasz Langa wrote:

We hope you enjoy Python 3.8!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

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


Re: upgrading python on raspbian

2019-10-14 Thread Gene Heskett
On Monday 14 October 2019 12:56:22 Gene Heskett wrote:

Continueing this thread, I now have a missing function by name, "units", 
that is preventing LinuxCNC from running.

Where in the python 3 world do I find that function?, which in this case 
controls what it is fed on to a pyvcp display according to a logic 
signal that tells it whether the machine is in inches mode, or mm mode?

Its in some of the gingerbread video code I do in the after postgui.hal 
file, that takes the number of degrees that the spindle has overshot the 
stop and reverse command due to the inertia of a 50 lb chuck, and 
converts that into either inches or mm's of carriage (z axis) 
overtravel, so I can subtract that when I am tapping a hole, and not 
subtracting it from the depth of threads I'm programming would run the 
tap into the bottom of the hole breaking it off in the hole.

Thats an expense no one needs. Not only is the tap broken, it takes a 
good part of a day to setup an EDM lashup and EDM the central core of 
tap out, leaving the teeth strips to be picked out of the hole with 
tweezers.  The hole is still tapped and won't be damaged, and a part 
that may cost hundreds of dollars is saved. But its far better to not 
make that mistake in the first place.  So where do I find a new "units"?

Thanks all.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 
-- 
https://mail.python.org/mailman/listinfo/python-list