Re: Python question

2020-03-10 Thread Michael Torrie
On 3/10/20 6:49 PM, Souvik Dutta wrote:
> What about moving on to a social media app completely made in pythoj for
> python?

No thanks. I don't want to be on yet another web forum.  I don't need
"social media" or a "social media app."  Email works exceedingly well
for this sort of thing, despite Google's antics.

Sadly a lot of open source projects are abandoning the good old list and
moving to awkward web forums like Discourse.

With e-mail lists, everything is right here in my email client
(Thunderbird), separated out into folders with procmail (or whatever
filtering system you want), and with proper nesting of messages.  No web
forum I've seen offers this convenience or proper nesting.  Electronic
communication is fraught enough. "Social media" (whatever that means)
seems to just make it harder.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Pysftp Issue File Upload is not working - put command

2020-03-10 Thread NAND KISHORE
>
>
> Hi
>We have requirement where we need to get file from client path and then
> upload the same to vendor directory path. I am not able to upload the file
> to vendor directory path , however when I tried to use the WINSCP it worked
> fine. So I thought of checking with Gurus what is wrong I am doing in my
> script. Appreciate your input.
> I will attach my script. Here is what I am doing.
>
> Step1. Clear the client directory path
> Step2. Make a call to HVAC Vault to get the username and password for
> client and vendor server
> Step3. Use the username and password to establish connection using pysftp
> for client.
> Step4. Store the file in local path.
> Step5. Segregate the file into different path based on file type
> Step6  Establish a connection to vendor and upload the file to vendor
> directory path.
> Step7  Close the client and Vendor connection
>
> Note : In step 6 I am getting an error and I am getting below error


> Please see the file attached for code.
>
> Also below is the error which I am getting
>
> -
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> * ERROR:root:Error in getting the file from EBS Outbound Server Traceback
> (most recent call last):   File "FILE_TRANSFER_PROCESS.py", line 191, in
> file_transfer vendor.put(src_file, dst_file)   File
> "/d01/python3/lib64/python3.6/site-packages/pysftp/__init__.py", line 364,
> in put confirm=confirm)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 759, in put return self.putfo(fl, remotepath, file_size, callback,
> confirm)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 720, in putfo s = self.stat(remotepath)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 493, in stat t, msg = self._request(CMD_STAT, path)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 813, in _request return self._read_response(num)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 865, in _read_response self._convert_status(msg)   File
> "/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
> 894, in _convert_status raise IOError(errno.ENOENT, text)
> FileNotFoundError: [Errno 2] /custom/OWO/ECE_OWO_20200303_143895.dat*
> __
>
#!/usr/bin/python
# -*- coding: utf-8 -*-
import csv
# from pysftp import Connection, CnOpts
import os
import sys
import pysftp
import logging
import hvac
import datetime
from datetime import datetime
import ssl
import smtplib
import shutil
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

def file_delete (dirs):
write_to_file('F', 'The directory is '+dirs)
for files in os.listdir(dirs):
filed = dirs + "/" +files
write_to_file('F','File is to be deleted '+filed)
os.remove(filed)
def write_to_file(mode,filetext):
log_path = "/home/kishnx/scripts/log/sftp.log"
if mode == 'I':
f = open(log_path,"w")
else:
f = open(log_path,"a")
f.write(filetext)
f.write("\n")
f.close()

def sendEmail(v_status):
port = 587  # For starttls
smtp_server = "smtp.gmail.com"
receiver_email = "test_recei...@gmail.com"
sender_email = "test_sen...@gmail.com"
password = "Test1234"
if v_status == 'S':
message = """\
  GXS_OUTBOUND
  Ran the Python SFTP program."""
elif v_status == 'E':
message = """\
  GXS_OUTBOUND
  Issue with the Python SFTP program.Check Log Files."""
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.ehlo()  # Can be omitted
server.starttls(context=context)
server.ehlo()  # Can be omitted
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)

timing=datetime.now()
fcontent1 = 'Logging for today has started'
write_to_file('I',"-")
write_to_file('F',fcontent1)
write_to_file('F',str(timing))
sl_cinfo = None
ot_cinfo = None
otsource = 'VENDOR'
ebspath1 = 'UNKNOWN'
otpath1 =  'UNKNOWN'
ebssource = 'CLIENT'
localfuspath = '/home/test/scripts/outbound/scm'
localfuspath3 = '/home/test/scripts/outbound/outbound'
shutil.rmtree(localfuspath)
os.makedirs(localfuspath)
vaultfile = open('/home/test/.vaulttoken', 'r')
vault_token = vaultfile.read().strip()
client = hvac.Client()
client = hvac.Client(url='https://vault.comfort.com:8200',
 token=vault_token,
 verify='/home/test/vault-cert.crt')
if client.is_authenticated():
print ('vault is authenticated')
write_to_file('F','vault is authenticated')


def file_t

Issue with PYSFTP - Working in WINSCP

2020-03-10 Thread NAND KISHORE
Hi
   We have requirement where we need to get file from client path and then
upload the same to vendor directory path. I am not able to upload the file
to vendor directory path , however when I tried to use the WINSCP it worked
fine. So I thought of checking with Gurus what is wrong I am doing in my
script. Appreciate your input.
I will attach my script. Here is what I am doing.

Step1. Clear the client directory path
Step2. Make a call to HVAC Vault to get the username and password for
client and vendor server
Step3. Use the username and password to establish connection using pysftp
for client.
Step4. Store the file in local path.
Step5. Segregate the file into different path based on file type
Step6  Establish a connection to vendor and copy the file to vendor.
Step7  Close the client and Vendor connection

Please see the file attached.

Also below is the error which I am getting

-
ERROR:root:Error in getting the file from EBS Outbound Server
Traceback (most recent call last):
  File "FILE_TRANSFER_PROCESS.py", line 191, in file_transfer
vendor.put(src_file, dst_file)
  File "/d01/python3/lib64/python3.6/site-packages/pysftp/__init__.py",
line 364, in put
confirm=confirm)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
759, in put
return self.putfo(fl, remotepath, file_size, callback, confirm)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
720, in putfo
s = self.stat(remotepath)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
493, in stat
t, msg = self._request(CMD_STAT, path)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
813, in _request
return self._read_response(num)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
865, in _read_response
self._convert_status(msg)
  File
"/d01/python3/lib64/python3.6/site-packages/paramiko/sftp_client.py", line
894, in _convert_status
raise IOError(errno.ENOENT, text)
FileNotFoundError: [Errno 2] /custom/OWO/ECE_OWO_20200303_143895.dat
#!/usr/bin/python
# -*- coding: utf-8 -*-
import csv
# from pysftp import Connection, CnOpts
import os
import sys
import pysftp
import logging
import hvac
import datetime
from datetime import datetime
import ssl
import smtplib
import shutil
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders

def file_delete (dirs):
write_to_file('F', 'The directory is '+dirs)
for files in os.listdir(dirs):
filed = dirs + "/" +files
write_to_file('F','File is to be deleted '+filed)
os.remove(filed)
def write_to_file(mode,filetext):
log_path = "/home/kishnx/scripts/log/sftp.log"
if mode == 'I':
f = open(log_path,"w")
else:
f = open(log_path,"a")
f.write(filetext)
f.write("\n")
f.close()

def sendEmail(v_status):
port = 587  # For starttls
smtp_server = "smtp.gmail.com"
receiver_email = "test_recei...@gmail.com"
sender_email = "test_sen...@gmail.com"
password = "Test1234"
if v_status == 'S':
message = """\
  GXS_OUTBOUND
  Ran the Python SFTP program."""
elif v_status == 'E':
message = """\
  GXS_OUTBOUND
  Issue with the Python SFTP program.Check Log Files."""
context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.ehlo()  # Can be omitted
server.starttls(context=context)
server.ehlo()  # Can be omitted
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)

timing=datetime.now()
fcontent1 = 'Logging for today has started'
write_to_file('I',"-")
write_to_file('F',fcontent1)
write_to_file('F',str(timing))
sl_cinfo = None
ot_cinfo = None
otsource = 'VENDOR'
ebspath1 = 'UNKNOWN'
otpath1 =  'UNKNOWN'
ebssource = 'CLIENT'
localfuspath = '/home/test/scripts/outbound/scm'
localfuspath3 = '/home/test/scripts/outbound/outbound'
shutil.rmtree(localfuspath)
os.makedirs(localfuspath)
vaultfile = open('/home/test/.vaulttoken', 'r')
vault_token = vaultfile.read().strip()
client = hvac.Client()
client = hvac.Client(url='https://vault.comfort.com:8200',
 token=vault_token,
 verify='/home/test/vault-cert.crt')
if client.is_authenticated():
print ('vault is authenticated')
write_to_file('F','vault is authenticated')


def file_transfer(sleep, vendor, paths):
global localfusaropath1
global localfusowopath1
global localfusitempath1
global localfuspath1
# print("paths are ",paths[0],paths[1])
ebsBasePath = paths[0]
localBasePath = path

Re: [Python-ideas] Re: Magnitude and ProtoMagnitude ABCs — primarily for argument validation

2020-03-10 Thread Marco Sulla via Python-list
On Tue, 10 Mar 2020 at 13:41, Chris Angelico  wrote:
> It makes good sense for
> division by 0 and division by 0.0 to both result in the same
> exception.

But Python 3 returns a float, for example, in division between
integers. 4 / 2 == 2.0. So some_integer / +0 should return +Infinity.
This is what IEEE 754 says.
Luckily Python does not adhere completely to IEEE 754.

Furthermore, there's a precedence in Python: decimal. decimal.Decimal
does not returns NaN in any of the operations that should return it:
https://en.wikipedia.org/wiki/NaN#Operations_generating_NaN
On the contrary, it returns decimal.InvalidOperation.

@Alan Bawden: thank you for letting me know about William Kahan. I
think it's analysis of IEEE 754 is very detailed, and I didn't know
that traps exist.
And yes, I agree that traps and exceptions slows down the computation.
But in a language like Python, when simplicity and usability is a
priority, and when "no exception should pass silently", IMHO
operations that returns NaN are only an heritage from C, since Python
is written in C.

PS: I'm quoting import this with Tim Peters in the discussion, to Alan
Bawden... It's like teaching physics to Fermi.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Installation of python

2020-03-10 Thread Marco Sulla via Python-list
*Ahem* I already posted the solution to your problem. I quote myself:

I suppose you also downloaded the required sources from here:
https://data.mendeley.com/datasets/s2x4d542dc/1

It seems the problem is that the above sources are generated by an old
version of Cython:

https://github.com/mcfletch/pyopengl/issues/11

You have "simply" to enter any subdir of PoissonSolver that ends with
"_cy" and remove the .c file inside them.

After that, you'll be able to compile. The result is three ELF files. On
my PC, for example, one of the the generated shared libraries is

PoissonSolver/PoissonSolver/ps3d.cpython-38-x86_64-linux-gnu.so

You have also to rename them. Follow the README.



On Mon, 9 Mar 2020 at 15:23, Tim Ko  wrote:
>
> Hello,
>
> I am trying to install a custom Python package but ran into an error. The 
> error presumably associated with cython. I tried a different compiler since 
> Intel compiler often crashes when using cython, but couldn't get it working.
>
> Attached is the installation error log. I have installed and updated all 
> essential packages such as numpy and scipy. Could someone please give me 
> advice to resolve this issue? Many thanks in advance.
>
> Sincerely,
> TK
>
>
> ===
> $ python setup.py build_ext -b PoissonSolver/
> running build_ext
> skipping 'PoissonSolver/MV_2D_cy/matvec2D.c' Cython extension (up-to-date)
> skipping 'PoissonSolver/MV_1D_cy/matvec1D.c' Cython extension (up-to-date)
> skipping 'PoissonSolver/PS_3D_cy/ps3d.c' Cython extension (up-to-date)
> building 'matvec2D' extension
> icc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC 
> -I/home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include
>  -I/home01/r782a03/.conda/envs/hko_env/include/python3.7m -c 
> PoissonSolver/MV_2D_cy/matvec2D.c -o 
> build/temp.linux-x86_64-3.7/PoissonSolver/MV_2D_cy/matvec2D.o -ffast-math
> icc: command line warning #10006: ignoring unknown option '-ffast-math'
> In file included from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h(1830),
>  from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h(12),
>  from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h(4),
>  from PoissonSolver/MV_2D_cy/matvec2D.c(232):
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h(17):
>  warning #1224: #warning directive: "Using deprecated NumPy API, disable it 
> with "  "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
>   #warning "Using deprecated NumPy API, disable it with " \
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17500): error: struct "_ts" has no field 
> "exc_type"
>   *type = tstate->exc_type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17501): error: struct "_ts" has no field 
> "exc_value"
>   *value = tstate->exc_value;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17502): error: struct "_ts" has no field 
> "exc_traceback"
>   *tb = tstate->exc_traceback;
> ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17514): error: struct "_ts" has no field 
> "exc_type"
>   tmp_type = tstate->exc_type;
>  ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17515): error: struct "_ts" has no field 
> "exc_value"
>   tmp_value = tstate->exc_value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17516): error: struct "_ts" has no field 
> "exc_traceback"
>   tmp_tb = tstate->exc_traceback;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17517): error: struct "_ts" has no field 
> "exc_type"
>   tstate->exc_type = type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17518): error: struct "_ts" has no field 
> "exc_value"
>   tstate->exc_value = value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17519): error: struct "_ts" has no field 
> "exc_traceback"
>   tstate->exc_traceback = tb;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17562): error: struct "_ts" has no field 
> "exc_type"
>   tmp_type = tstate->exc_type;
>  ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17563): error: struct "_ts" has no field 
> "exc_value"
>   tmp_value = tstate->exc_value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17564): error: struct "_ts" has no field 
> "exc_traceback"
>   tmp_tb = tstate->exc_traceback;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17565): error: struct "_ts" has no field 
> "exc_type"
>   tstate->exc_type = local_type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17566): error: struct "_ts" has no field 
> "exc_value"
>   tstate->exc_value = local_value;
>   ^
>
> PoissonSol

Re: Python question

2020-03-10 Thread Souvik Dutta
What about moving on to a social media app completely made in pythoj for
python?

On Wed, 11 Mar, 2020, 12:36 am DL Neil via Python-list, <
python-list@python.org> wrote:

> On 11/03/20 7:34 AM, Michael Torrie wrote:
> > On 3/10/20 6:40 AM, Chris Angelico wrote:
> >> On Tue, Mar 10, 2020 at 11:22 PM Marco Sulla via Python-list
> ...
>
> >> I'm also reading this in Gmail, and I didn't get any such warning. I'm
> >> going to call that a spurious warning, a false positive.
> >
> > Gmail often reports this about Python list messages because they are
> > being sent through Python's mailing list servers but have the From
> > address showing up as the poster's email address.
> >
> > Shows that Google's "my way or the highway" approach to security is
> > problematic when it comes to traditional internet services like
> > listservs.  To say nothing of how they break mailing lists by throwing
> > out your own messages to the list. Google products are definitely
> > getting more and more frustrating for us traditional users.
>
> +1
>
> ...and any right-of-reply is basically-hidden and then swathed in all
> manner of bureaucracy - which is why it not worth our long-suffering
> ListAdmins' (thanks guys!) time to attempt a fix!
>
> OT: Google is not the only over-large and over-bearing outfit...
>
> --
> Regards =dn
> --
> https://mail.python.org/mailman/listinfo/python-list
>
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python question

2020-03-10 Thread DL Neil via Python-list

On 11/03/20 7:34 AM, Michael Torrie wrote:

On 3/10/20 6:40 AM, Chris Angelico wrote:

On Tue, Mar 10, 2020 at 11:22 PM Marco Sulla via Python-list

...


I'm also reading this in Gmail, and I didn't get any such warning. I'm
going to call that a spurious warning, a false positive.


Gmail often reports this about Python list messages because they are
being sent through Python's mailing list servers but have the From
address showing up as the poster's email address.

Shows that Google's "my way or the highway" approach to security is
problematic when it comes to traditional internet services like
listservs.  To say nothing of how they break mailing lists by throwing
out your own messages to the list. Google products are definitely
getting more and more frustrating for us traditional users.


+1

...and any right-of-reply is basically-hidden and then swathed in all 
manner of bureaucracy - which is why it not worth our long-suffering 
ListAdmins' (thanks guys!) time to attempt a fix!


OT: Google is not the only over-large and over-bearing outfit...

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


Re: Python question

2020-03-10 Thread Michael Torrie
On 3/10/20 6:40 AM, Chris Angelico wrote:
> On Tue, Mar 10, 2020 at 11:22 PM Marco Sulla via Python-list
>> I would reply, but I was already too much off topic. I want only to
>> write what Gmail reports to me about the last message of the person
>> that started this discussion:
>>
>>> This message seems dangerous
>>> Many people marked similar messages as phishing scams, so this might 
>>> contain unsafe content. Avoid clicking links, downloading attachments or 
>>> replying with personal information.
>>
>> I never saw this message before in Gmail. Didn't your Gmail warned
>> about this, Souvik Dutta?
>>
> 
> I'm also reading this in Gmail, and I didn't get any such warning. I'm
> going to call that a spurious warning, a false positive.

Gmail often reports this about Python list messages because they are
being sent through Python's mailing list servers but have the From
address showing up as the poster's email address.

Shows that Google's "my way or the highway" approach to security is
problematic when it comes to traditional internet services like
listservs.  To say nothing of how they break mailing lists by throwing
out your own messages to the list. Google products are definitely
getting more and more frustrating for us traditional users.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: How does the super type present itself and do lookups?

2020-03-10 Thread Adam Preble
On Tuesday, March 10, 2020 at 9:28:11 AM UTC-5, Peter Otten wrote:
> self.foo looks up the attribute in the instance, falls back to the class and 
> then works its way up to the parent class, whereas
> 
> super().foo bypasses both instance and class, and starts its lookup in the 
> parent class.

Is this foo attribute being looked up in an override of __getattr__, 
__getattribute__, or is it a reserved slot that's internally doing this? That's 
what I'm trying to figure out.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python question

2020-03-10 Thread Chris Angelico
On Tue, Mar 10, 2020 at 11:22 PM Marco Sulla via Python-list
 wrote:
>
> On Fri, 6 Mar 2020 at 17:30, Souvik Dutta  wrote:
> > And you cannot form opinions for
> > other people's by saying them not to support a person. That is injustice
> > and rude.
>
> I would reply, but I was already too much off topic. I want only to
> write what Gmail reports to me about the last message of the person
> that started this discussion:
>
> > This message seems dangerous
> > Many people marked similar messages as phishing scams, so this might 
> > contain unsafe content. Avoid clicking links, downloading attachments or 
> > replying with personal information.
>
> I never saw this message before in Gmail. Didn't your Gmail warned
> about this, Souvik Dutta?
>

I'm also reading this in Gmail, and I didn't get any such warning. I'm
going to call that a spurious warning, a false positive.

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


Re: How does the super type present itself and do lookups?

2020-03-10 Thread Barry Scott



> On 4 Mar 2020, at 17:12, Adam Preble  wrote:
> 
> Months ago, I asked a bunch of stuff about super() and managed to fake it 
> well enough to move on to other things for awhile. The day of reckoning came 
> this week and I was forced to implement it better for my personal Python 
> project. I have a hack in place that makes it work well-enough but I found 
> myself frustrated with how shift the super type is. It's both the self and 
> the parent class, but not.
> 
> If you don't know, you can trap what super() returns some time and poke it 
> with a stick. If you print it you'll be able to tell it's definitely unique:
> , >
> 
> If you try to invoke methods on it, it'll invoke the superclass' methods. 
> That's what is supposed to happen and basically what already happens when you 
> do super().invoke_this_thing() anyways.
> 
> Okay, so how is it doing the lookup for that? The child instance and the 
> super types' __dict__ are the same. The contents pass an equality comparison 
> and are the same if you print them.

Do you know about the Method Resolution Order (MRO) that is in 
__class__.__mro__)?

I was very confused by super() until I found out about the MRO. When you call 
super() it finds
where the code is in the MRO and then starts looking for a method in classes 
before the calling
class.

The following code shows this:

class A:
def __init__(self):
super().__init__()

def fn(self):
return 'A.fn'

class B(A):
def __init__(self):
super().__init__()

class C(B):
def __init__(self):
super().__init__()

def fn(self):
return 'C.fn and super().fn is %r with value %r' % (super().fn, 
super().fn())

class D(C):
def __init__(self):
super().__init__()


print(D.__mro__)
obj = D()
print( obj.fn() )

When it is run it prints:

(, , , , )
C.fn and super().fn is > with value 'A.fn'

When fn() is called on obj the version of fn() in class C is called.
That fn() calls the super().fn and the second print shows that its the class A 
fn that is found called.
super starts with the next class after the one it is called in. It is in C so 
find C in the MRO and starts with
B. B does not have an fn(). Then it looks in A and finds fn().

Is this what you are looking for?

Barry


> 
> They have the same __getattribute__ method wrapper. However, if you dir() 
> them you definitely get different stuff. For one, the super type has its 
> special variables __self__, __self_class__, and __thisclass__. It's missing 
> __dict__ from the dir output. But wait, I just looked at that!
> 
> So I'm thinking that __getattr__ is involved, but it's not listed in 
> anything. If I use getattr on the super, I'll get the parent methods. If I 
> use __getattribute__, I get the child's methods. I get errors every way I've 
> conceived of trying to pull out a __getattr__ dunder. No love.
> 
> I guess the fundamental question is: what different stuff happens when 
> LOAD_ATTR is performed on a super object versus a regular object?
> 
> If you are curious about what I'm doing right now, I overrode 
> __getattribute__ since that's primarily what I use for attribute lookups 
> right now. It defer to the superclass' __getattribute__. If a method pops 
> out, it replaces the self with the super's __self__ before kicking it out. I 
> feel kind of dirty doing it:
> 
> https://github.com/rockobonaparte/cloaca/blob/312758b2abb80320fb3bf344ba540a034875bc4b/LanguageImplementation/DataTypes/PySuperType.cs#L36
> 
> If you want to see how I was experimenting with super, here's the code and 
> output:
> 
> class Parent:
>def __init__(self):
>self.a = 1
> 
>def stuff(self):
>print("Parent stuff!")
> 
> 
> class Child(Parent):
>def __init__(self):
>super().__init__()
>self.b = 2
>self.super_instance = super()
> 
>def stuff(self):
>print("Child stuff!")
> 
>def only_in_child(self):
>print("Only in child!")
> 
> 
> c = Child()
> c.super_instance.__init__()
> c.stuff()
> c.super_instance.stuff()
> print(c)
> print(c.super_instance)
> print(c.__init__)
> print(c.super_instance.__init__)
> print(c.stuff)
> print(c.super_instance.stuff)
> print(c.__getattribute__)
> print(c.super_instance.__getattribute__)
> print(dir(c))
> print(dir(c.super_instance))
> print(c.__dict__ == c.super_instance.__dict__)
> print(getattr(c, "__init__"))
> print(getattr(c.super_instance, "__init__"))
> print(c.__getattribute__("__init__"))
> print(c.super_instance.__getattribute__("__init__"))
> 
> 
> 
> Child stuff!
> Parent stuff!
> <__main__.Child object at 0x026854D99828>
> , >
> >
>  0x026854D99828>>
> >
> >
> 
> 
> ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', 
> '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
> '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', 
> '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', 
> '__str

Re: Lock acquisition by the same thread - deadlock protection

2020-03-10 Thread Barry Scott



> On 9 Mar 2020, at 22:53, Yonatan Goldschmidt  
> wrote:
> 
> I recently debugged a program hang, eventually finding out it's a deadlock of 
> a single thread,
> resulting from my usage of 2 libraries. One of them - call it library A - is 
> reentrant & runs code in
> GC finalizers, while the other - library B - is not reentrant at all.
> Library B held one of its `threading.Lock` locks, and during this period, GC 
> was invoked, running
> finalizers of library A which call back into library B, now attempting to 
> take the lock again,
> locking the thread forever.
> 
> Considering how relatively common this scenario might be (Python, by design, 
> can preempt any user code
> to run some other user code, due to GC finalizers), I was surprised Python 
> code is not protected
> from this simple type of deadlock. It makes sense that while 
> `threading.RLock` allows for recursive
> locking, `threading.Lock` will prevent it - raising an exception if you 
> attempt it.
> 
> I might be missing something, but why isn't it the status? Why taking a 
> `threading.Lock` twice from
> the same thread just hangs, instead of raising a friendly exception?
> I ran a quick search in bpo but found nothing about this topic. I also tried 
> to
> search this mailing list but couldn't find how to, so I grepped a few random 
> archives
> but found nothing about it.
> 
> Would be happy if anyone could shed some light on it...

threading.Lock is not reentrant and its implementation does not allow detection 
of the problem
from what I recall.

In this case the code might want to use the threading.RLock that is reentrant.
Of course there may be other issues in the code that prevent the finalizers 
working if it holds the lock.

Barry



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


Re: Installation of python

2020-03-10 Thread Dan Stromberg
On Mon, Mar 9, 2020 at 7:20 AM Tim Ko  wrote:

> Hello,
>
> I am trying to install a custom Python package but ran into an error. The
> error presumably associated with cython. I tried a different compiler since
> Intel compiler often crashes when using cython, but couldn't get it
> working.
>
Does this help?
https://github.com/cython/cython/wiki/CythonExtensionsOnWindows

I'm just guessing.  I very infrequently use Windows.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [Python-ideas] Re: Magnitude and ProtoMagnitude ABCs — primarily for argument validation

2020-03-10 Thread Alan Bawden
Chris Angelico  writes:
> People keep saying this - that nan exists to avoid exceptions - but
> that doesn't take signalling nans into account. Even in C, they are
> expected to raise an exception or equivalent.

Actually, its not that far from the truth to say that NaNs "exist to avoid
exceptions".  According to Kahan, NaNs were an improvement over previous
NaN-like mechanisms that existed in older computer hardware precisely
because they avoid exceptions.  Kahan says of those older mechanisms: "But
nobody used them because they trap when touched."

I believe that signalling NaNs were added to the IEEE standard late in the
process because people still wanted something you could store in a
uninitialized variable that would trap if you accidentally used it.  Unlike
all the IEEE operations that result in a NaN, using an uninitialized
variable is clearly an error.  Kahan doesn't think much of signalling NaNs,
writing that they "exist mainly for political reasons and are rarely used".

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


[RELEASE] Python 3.7.7 is now available

2020-03-10 Thread Ned Deily
https://discuss.python.org/t/python-3-7-7-is-now-available/3682

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

--
  Ned Deily
  n...@python.org -- []

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


Re: How does the super type present itself and do lookups?

2020-03-10 Thread Peter Otten
Adam Preble wrote:

> If you don't know, you can trap what super() returns some time and poke it
> with a stick. If you print it you'll be able to tell it's definitely
> unique: , >
> 
> If you try to invoke methods on it, it'll invoke the superclass' methods.
> That's what is supposed to happen and basically what already happens when
> you do super().invoke_this_thing() anyways.
> 
> Okay, so how is it doing the lookup for that? The child instance and the
> super types' __dict__ are the same. The contents pass an equality
> comparison and are the same if you print them.

I think the fundamental insight is that given


class A:
foo = "A"

class B(A):
foo = "B"
def super_foo(self): return super().foo
def my_foo(self): return self.foo

b = B()
b.foo = "inst"
print(b.super_foo())  # A
print(b.my_foo())  # inst
del b.foo
print(b.my_foo())  # B
del B.foo
print(b.my_foo())  # A


self.foo looks up the attribute in the instance, falls back to the class and 
then works its way up to the parent class, whereas

super().foo bypasses both instance and class, and starts its lookup in the 
parent class.


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


Re: Is there something similar to guidechimp in python?

2020-03-10 Thread labs64dummystudent
суббота, 7 марта 2020 г., 4:11:53 UTC+1 пользователь Souvik Dutta написал:
> This is guidechimp -https://github.com/Labs64/GuideChimp
> Is there anything similar to this in python?

GuideChimp is a JavaScript library which can be integrated by adding js/css 
ressources to any web application.
Please refer to 
https://github.com/Labs64/GuideChimp/wiki/Install#1-using-from-a-cdn to get the 
CDN ressources.
Having that, you can actually use GuideChimp not only with Python application, 
but also with React, Vue.js, Angulat, PHP (Laravel) and many others.

Hope that helps
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [Python-ideas] Re: Magnitude and ProtoMagnitude ABCs — primarily for argument validation

2020-03-10 Thread Chris Angelico
On Tue, Mar 10, 2020 at 11:16 PM Marco Sulla via Python-list
 wrote:
> Raising a NanError seems to me the only way to eliminate the NaN
> problem. Indeed NaN was created for languages like C, that does not
> support exceptions.

People keep saying this - that nan exists to avoid exceptions - but
that doesn't take signalling nans into account. Even in C, they are
expected to raise an exception or equivalent.

Python raises an exception for float division by zero because Python
does its best to treat smallish integers and integral floats as
equivalent. (Yes, I'm using "smallish" to mean "less than nine
quadrillion"... programmers have weird ideas about magnitude
sometimes.) Apart from indexing, the values 3 and 3.0 should be able
to be used pretty much interchangeably. They compare equal (which, in
turn, implies that they have the same hash), they behave very
similarly in arithmetic, etc, etc, etc. It makes good sense for
division by 0 and division by 0.0 to both result in the same
exception. It also makes sense for integer division to raise rather
than return a float (since "x // y" between two ints will never
otherwise be a float). So it'd be nastily inconsistent to return a NaN
for float division by zero.

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


Re: Error while installing a python code

2020-03-10 Thread Marco Sulla via Python-list
Little errata: you have only to install or update Cython, remove the
.c files as I wrote before and run again

python setup.py build_ext -b PoissonSolver/

No intermediate steps are required. The generated ELF files are three.
You have also to rename them with the names in the README file.


On Mon, 9 Mar 2020 at 22:36, Marco Sulla  wrote:
>
> I suppose you tried to use this setup.py:
> https://github.com/breathe/coffee_conda_package/blob/master/0001-Add-alternative-setup.py-script.patch
>
> It's not well written IMHO... anyway this is not the problem.
>
> I suppose you also downloaded the required sources from here:
> https://data.mendeley.com/datasets/s2x4d542dc/1
>
> It seems the problem is that the above sources are generated by an old
> version of Cython:
>
> https://github.com/mcfletch/pyopengl/issues/11
>
> You have "simply" to enter any subdir of PoissonSolver that ends with
> "_cy", remove the .c file inside and do:
> python setup.py build_ext --inplace
>
> After that, you'll be able to compile. The result is an ELF file. On
> my PC, the generated file is
> PoissonSolver/PoissonSolver/ps3d.cpython-38-x86_64-linux-gnu.so
>
> On Mon, 9 Mar 2020 at 15:27, Tim Ko  wrote:
> >
> > Hello,
> >
> > I am trying to install a custom Python code but ran into an error. The 
> > error presumably associated with cython. I tried a different compiler since 
> > Intel compiler often crashes when using cython, but couldn't get it working.
> >
> > Attached is the installation error log. I have installed and updated all 
> > essential packages such as numpy and scipy. Could someone please give me 
> > advice to resolve this issue? Many thanks in advance.
> >
> > Sincerely,
> > TK
> >
> >
> > ===
> > $ python setup.py build_ext -b PoissonSolver/
> > running build_ext
> > skipping 'PoissonSolver/MV_2D_cy/matvec2D.c' Cython extension (up-to-date)
> > skipping 'PoissonSolver/MV_1D_cy/matvec1D.c' Cython extension (up-to-date)
> > skipping 'PoissonSolver/PS_3D_cy/ps3d.c' Cython extension (up-to-date)
> > building 'matvec2D' extension
> > icc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC 
> > -I/home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include
> >  -I/home01/r782a03/.conda/envs/hko_env/include/python3.7m -c 
> > PoissonSolver/MV_2D_cy/matvec2D.c -o 
> > build/temp.linux-x86_64-3.7/PoissonSolver/MV_2D_cy/matvec2D.o -ffast-math
> > icc: command line warning #10006: ignoring unknown option '-ffast-math'
> > In file included from 
> > /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h(1830),
> >  from 
> > /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h(12),
> >  from 
> > /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h(4),
> >  from PoissonSolver/MV_2D_cy/matvec2D.c(232):
> > /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h(17):
> >  warning #1224: #warning directive: "Using deprecated NumPy API, disable it 
> > with "  "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
> >   #warning "Using deprecated NumPy API, disable it with " \
> >^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17500): error: struct "_ts" has no field 
> > "exc_type"
> >   *type = tstate->exc_type;
> >   ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17501): error: struct "_ts" has no field 
> > "exc_value"
> >   *value = tstate->exc_value;
> >^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17502): error: struct "_ts" has no field 
> > "exc_traceback"
> >   *tb = tstate->exc_traceback;
> > ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17514): error: struct "_ts" has no field 
> > "exc_type"
> >   tmp_type = tstate->exc_type;
> >  ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17515): error: struct "_ts" has no field 
> > "exc_value"
> >   tmp_value = tstate->exc_value;
> >   ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17516): error: struct "_ts" has no field 
> > "exc_traceback"
> >   tmp_tb = tstate->exc_traceback;
> >^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17517): error: struct "_ts" has no field 
> > "exc_type"
> >   tstate->exc_type = type;
> >   ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17518): error: struct "_ts" has no field 
> > "exc_value"
> >   tstate->exc_value = value;
> >   ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17519): error: struct "_ts" has no field 
> > "exc_traceback"
> >   tstate->exc_traceback = tb;
> >   ^
> >
> > PoissonSolver/MV_2D_cy/matvec2D.c(17562): error: struct "_ts" has no field 
> > "exc_type"
> >   tmp_type = tstate->exc_type;
> >  ^
> >
> >

Re: Python question

2020-03-10 Thread Marco Sulla via Python-list
On Fri, 6 Mar 2020 at 17:30, Souvik Dutta  wrote:
> And you cannot form opinions for
> other people's by saying them not to support a person. That is injustice
> and rude.

I would reply, but I was already too much off topic. I want only to
write what Gmail reports to me about the last message of the person
that started this discussion:

> This message seems dangerous
> Many people marked similar messages as phishing scams, so this might contain 
> unsafe content. Avoid clicking links, downloading attachments or replying 
> with personal information.

I never saw this message before in Gmail. Didn't your Gmail warned
about this, Souvik Dutta?
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: pip UX Studies - help improve the usability of pip

2020-03-10 Thread Marco Sulla via Python-list
On Mon, 9 Mar 2020 at 16:09, Paul Moore  wrote:
> We've had some questions as to whether this survey is legitimate. I
> can confirm it is (speaking as a pip core developer).

Thank you a lot!
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [Python-ideas] Re: New explicit methods to trim strings

2020-03-10 Thread Marco Sulla via Python-list
I agree with Steven D'Aprano.
I never had problems with strip(), but if people find it confusing,
Python can simply leave strip() and all the other function as they are
and add another functions, like crop() or snip() or shear() prune() or
mow(). Personally I prefer crop() or prune().

This way there will be no breaking changes.

On Sat, 7 Mar 2020 at 02:58, Ethan Furman  wrote:
>
> On 03/06/2020 04:03 PM, Steven D'Aprano wrote:
> > On Thu, Mar 05, 2020 at 12:45:28PM -0800, Andrew Barnert via Python-ideas 
> > wrote:
>
> >> Well, I like the idea if someone can come up with a good naming
> >> scheme—something that at least reminds me which function is the “set
> >> of chars” stripper and which the “substring” stripper,
> >
> > You've been a Python programmer for how many years now? Do you currently
> > have trouble remembering what lstrip and rstrip do?
>
> Speaking for myself, about 13 years.  And, yes, I do occasionally forget that 
> the strips are character based.  I can easily imagine it's worse for polyglot 
> programmers.
>
>
> > We already have `[l|r]strip` methods. If we want to associate the new
> > methods with those, I suggest
> >
> >  strip_prefix
> >  strip_suffix
>
> Works for me.  Easy to add to bytes, too, if somebody is so inclined.
>
> --
> ~Ethan~
> ___
> Python-ideas mailing list -- python-id...@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-id...@python.org/message/JKBILM3G2C4TQ7XEVIH3V7M7CKCJ4R6Y/
> Code of Conduct: http://python.org/psf/codeofconduct/
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [Python-ideas] Re: Magnitude and ProtoMagnitude ABCs — primarily for argument validation

2020-03-10 Thread Marco Sulla via Python-list
I think that implementing TotallyOrderable and PartiallyOrderable is a
good idea. But is it useful?
I mean, I don't know how much people needs really to order sets. Maybe
some mathematician. But they can simply use Sage:
http://doc.sagemath.org/html/en/reference/categories/sage/categories/posets.html

The real problem is NaN. If NaN would not exists, floats will be
perfectly total orderable.
Yes, IEEE 754-2019 defines a total order: -NaN is a number minor that
-Infinity, and +NaN is a number greater than +Infinity. And a NaN is
greater than another NaN if its payload is greater.

But IEEE 754 says also that the division by +0 should return
+Infinity, and by -0 -Infinity.

On the contrary, Python decided to not adhere to IEEE 754 in this case
and do a very wise choice: raise an exception.

The question is: why Python does not do the same for operations that
now return NaN?

Raising a NanError seems to me the only way to eliminate the NaN
problem. Indeed NaN was created for languages like C, that does not
support exceptions.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: pip UX Studies - help improve the usability of pip

2020-03-10 Thread Bernard Tyers - Sane UX Design via Python-list
Hi Marco,

Certainly.

If you trust the validity of the Python Software Foundation's twitter
feed, you can see they retweeted my call:

https://twitter.com/ThePSF

Alternatively if you reply to the list and ask Paul, Pradyun, Tzu-Ping
or contact Sumana, the PM they'll be able to confirm it.

Have I answered your question sufficiently?

Regards,
Bernard



On 07/03/2020 11:21, Marco Sulla wrote:
> There's someone of the pip team that can confirm this?
> 
> On Sat, 7 Mar 2020 at 02:49, Bernard Tyers - Sane UX Design
>  wrote:
>>
>> Hi there,
>>
>> My name is Bernard Tyers. I'm a UX designer and have recently started
>> working on the PSF project to improve the usability of pip, funded by
>> MOSS/CZI.
>>
>> I want to let you know about the pip UX Studies we've started today, and
>> encourage you to sign-up and take part.
>>
>> The pip Team is looking for Python users who use pip to take part in our
>> UX Studies. Your input will have a direct impact on improving pip.
>>
>> We want to speak with as diverse a group as possible. We'd particularly
>> like to speak with people with accessibility needs.
>>
>> You _don't_ have to be a Python expert to take part - I can't stress
>> this enough!
>>
>> You can find out all the details you'll need and find the sign-up link
>> on this blogpost:
>>
>> http://www.ei8fdb.org/thoughts/2020/03/pip-ux-study-recruitment/
>>
>> If you do have questions I've not answered there, let me know.
>>
>> We'd also appreciate some signal boosting to reach as wide an audience
>> as possible. Please share the blog post with people in different Python
>> using communities.
>>
>> If you're a Twitter/Mastodon user we'd appreciate a signal boost of
>> these also:
>>
>> https://twitter.com/bernardtyers/status/123603961730017
>> https://social.ei8fdb.org/@bernard/103778645553767728
>>
>>
>> Thank you for your attention!
>>
>> Best wishes,
>>
>> Bernard
>> --
>>
>> Bernard Tyers, User research & Interaction Design
>>
>> T: @bernardtyers
>> M: @bern...@social.ei8fdb.org
>> PGP Key: keybase.io/ei8fdb
>>
>>
>> I work on User-Centred Design, Open Source Software and Privacy.
>> --
>> https://mail.python.org/mailman/listinfo/python-list

-- 

Bernard Tyers, User research & Interaction Design
Sane UX Design

Twitter: @bernardtyers
PGP Key: keybase.io/ei8fdb


I am currently working with the Python Foundation, and Open Technology Fund
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: [Python-ideas] Re: Magnitude and ProtoMagnitude ABCs — primarily for argument validation

2020-03-10 Thread Tim Peters via Python-list
[Marco Sulla ]
> Excuse me, Tim Peters, what do you think about my (probably heretical)
> proposal of simply raising an exception instead of return a NaN, like
> Python already do for division by zero?

Sorry, I'm missing context.  I don't see any other message(s) from you
in this thread, so don't know what you mean.  The message of mine
you're replying to here said nothing about exceptions or NaNs.
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Error while installing a python code

2020-03-10 Thread Marco Sulla via Python-list
I suppose you tried to use this setup.py:
https://github.com/breathe/coffee_conda_package/blob/master/0001-Add-alternative-setup.py-script.patch

It's not well written IMHO... anyway this is not the problem.

I suppose you also downloaded the required sources from here:
https://data.mendeley.com/datasets/s2x4d542dc/1

It seems the problem is that the above sources are generated by an old
version of Cython:

https://github.com/mcfletch/pyopengl/issues/11

You have "simply" to enter any subdir of PoissonSolver that ends with
"_cy", remove the .c file inside and do:
python setup.py build_ext --inplace

After that, you'll be able to compile. The result is an ELF file. On
my PC, the generated file is
PoissonSolver/PoissonSolver/ps3d.cpython-38-x86_64-linux-gnu.so

On Mon, 9 Mar 2020 at 15:27, Tim Ko  wrote:
>
> Hello,
>
> I am trying to install a custom Python code but ran into an error. The error 
> presumably associated with cython. I tried a different compiler since Intel 
> compiler often crashes when using cython, but couldn't get it working.
>
> Attached is the installation error log. I have installed and updated all 
> essential packages such as numpy and scipy. Could someone please give me 
> advice to resolve this issue? Many thanks in advance.
>
> Sincerely,
> TK
>
>
> ===
> $ python setup.py build_ext -b PoissonSolver/
> running build_ext
> skipping 'PoissonSolver/MV_2D_cy/matvec2D.c' Cython extension (up-to-date)
> skipping 'PoissonSolver/MV_1D_cy/matvec1D.c' Cython extension (up-to-date)
> skipping 'PoissonSolver/PS_3D_cy/ps3d.c' Cython extension (up-to-date)
> building 'matvec2D' extension
> icc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC 
> -I/home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include
>  -I/home01/r782a03/.conda/envs/hko_env/include/python3.7m -c 
> PoissonSolver/MV_2D_cy/matvec2D.c -o 
> build/temp.linux-x86_64-3.7/PoissonSolver/MV_2D_cy/matvec2D.o -ffast-math
> icc: command line warning #10006: ignoring unknown option '-ffast-math'
> In file included from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarraytypes.h(1830),
>  from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/ndarrayobject.h(12),
>  from 
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/arrayobject.h(4),
>  from PoissonSolver/MV_2D_cy/matvec2D.c(232):
> /home01/r782a03/.conda/envs/hko_env/lib/python3.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h(17):
>  warning #1224: #warning directive: "Using deprecated NumPy API, disable it 
> with "  "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
>   #warning "Using deprecated NumPy API, disable it with " \
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17500): error: struct "_ts" has no field 
> "exc_type"
>   *type = tstate->exc_type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17501): error: struct "_ts" has no field 
> "exc_value"
>   *value = tstate->exc_value;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17502): error: struct "_ts" has no field 
> "exc_traceback"
>   *tb = tstate->exc_traceback;
> ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17514): error: struct "_ts" has no field 
> "exc_type"
>   tmp_type = tstate->exc_type;
>  ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17515): error: struct "_ts" has no field 
> "exc_value"
>   tmp_value = tstate->exc_value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17516): error: struct "_ts" has no field 
> "exc_traceback"
>   tmp_tb = tstate->exc_traceback;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17517): error: struct "_ts" has no field 
> "exc_type"
>   tstate->exc_type = type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17518): error: struct "_ts" has no field 
> "exc_value"
>   tstate->exc_value = value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17519): error: struct "_ts" has no field 
> "exc_traceback"
>   tstate->exc_traceback = tb;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17562): error: struct "_ts" has no field 
> "exc_type"
>   tmp_type = tstate->exc_type;
>  ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17563): error: struct "_ts" has no field 
> "exc_value"
>   tmp_value = tstate->exc_value;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17564): error: struct "_ts" has no field 
> "exc_traceback"
>   tmp_tb = tstate->exc_traceback;
>^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17565): error: struct "_ts" has no field 
> "exc_type"
>   tstate->exc_type = local_type;
>   ^
>
> PoissonSolver/MV_2D_cy/matvec2D.c(17566): error: struct "_ts" has no field 
> "exc_val

Re: pip UX Studies - help improve the usability of pip

2020-03-10 Thread Marco Sulla via Python-list
There's someone of the pip team that can confirm this?

On Sat, 7 Mar 2020 at 02:49, Bernard Tyers - Sane UX Design
 wrote:
>
> Hi there,
>
> My name is Bernard Tyers. I'm a UX designer and have recently started
> working on the PSF project to improve the usability of pip, funded by
> MOSS/CZI.
>
> I want to let you know about the pip UX Studies we've started today, and
> encourage you to sign-up and take part.
>
> The pip Team is looking for Python users who use pip to take part in our
> UX Studies. Your input will have a direct impact on improving pip.
>
> We want to speak with as diverse a group as possible. We'd particularly
> like to speak with people with accessibility needs.
>
> You _don't_ have to be a Python expert to take part - I can't stress
> this enough!
>
> You can find out all the details you'll need and find the sign-up link
> on this blogpost:
>
> http://www.ei8fdb.org/thoughts/2020/03/pip-ux-study-recruitment/
>
> If you do have questions I've not answered there, let me know.
>
> We'd also appreciate some signal boosting to reach as wide an audience
> as possible. Please share the blog post with people in different Python
> using communities.
>
> If you're a Twitter/Mastodon user we'd appreciate a signal boost of
> these also:
>
> https://twitter.com/bernardtyers/status/123603961730017
> https://social.ei8fdb.org/@bernard/103778645553767728
>
>
> Thank you for your attention!
>
> Best wishes,
>
> Bernard
> --
>
> Bernard Tyers, User research & Interaction Design
>
> T: @bernardtyers
> M: @bern...@social.ei8fdb.org
> PGP Key: keybase.io/ei8fdb
>
>
> I work on User-Centred Design, Open Source Software and Privacy.
> --
> https://mail.python.org/mailman/listinfo/python-list
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: pip UX Studies - help improve the usability of pip

2020-03-10 Thread Marco Sulla via Python-list
Subscribed. I have a little suggestion IMHO "What is you favourite
pip command or functionality?" is not very useful... of course the
most useful command is "install" :-)
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: The Real-Time Use of Python in Data Science World!

2020-03-10 Thread darcosion--- via Python-list
Why they are ads on this mailing list ?


‐‐‐ Original Message ‐‐‐
Le samedi 7 mars 2020 06:39,  a écrit :

> Besant Technologies providing Python Training in Chennai with expert guidance 
> and fully hands-on classes. Python is a high-level programming language 
> sometimes it also denoted as the scripting language as it provides rapid & 
> fast development and easy of use. Our Python Training in Chennai package also 
> includes job placement assistance, which is really a bonus point for 
> students. We also help students in getting a good job by conducting 
> interviews of ours with good IT companies and MNCs too.
> 

> https://www.besanttechnologies.com/training-courses/python-training-institute-in-chennai
> 

> --
> 

> Python-announce-list mailing list -- python-announce-l...@python.org
> To unsubscribe send an email to python-announce-list-le...@python.org
> https://mail.python.org/mailman3/lists/python-announce-list.python.org/
> 

> Support the Python Software Foundation:
> http://www.python.org/psf/donations/



signature.asc
Description: OpenPGP digital signature
-- 
https://mail.python.org/mailman/listinfo/python-list