[issue45413] Add install scheme for virtual environments

2022-03-18 Thread Filipe Laíns

Filipe Laíns  added the comment:

With PR 31034 merged, we can now mark this as resolved.

As mentioned in the PR, there are still some concerns about maintainability and 
avoiding similar issues to happen in the future. That can be done later, as 
people find time to work on it.

Thanks!

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45413] Add install scheme for virtual environments

2022-02-09 Thread Filipe Laíns

Filipe Laíns  added the comment:

I don't think the proposal is incompatible with what I discussed.

I haven't been super clear on my opinions on the implementation, so let me try 
to clarify them.

- I think that we should use a static scheme, accessible on all platforms.
- If this scheme needs to be independently defined for each platform, we should 
have different variants, available on all platforms, but still keep a generic 
named one, as an alias to the platform specific scheme
- We should not be re-using/aliasing existing schemes, particularly ones that 
are prone to downstream patching

So, my proposal would be to define a single static scheme, and changing the 
interpreter path initialization logic to hardcode its paths when on virtual 
environments.
If this presents any issue, and requires the scheme to be different for 
different platforms, we should add platform specific schemes and make the main 
one an alias to the correct scheme.

Hopefully that clarifies things up a bit. We should sort it out as soon as 
possible and update the PR, I don't think the PR as-is is the best approach.

What do you think?

--

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45413] Add install scheme for virtual environments

2022-02-07 Thread Filipe Laíns

Filipe Laíns  added the comment:

I agree.

--

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46171] venv module produces spurious warning that location has moved

2021-12-24 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue46171>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46125] Test the preferred API instead of relying on legacy for coverage

2021-12-24 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue46125>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46118] Migrate importlib.resources into a package

2021-12-24 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue46118>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue46148] Optimize pathlib

2021-12-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue46148>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25625] "chdir" Contex manager for pathlib

2021-11-14 Thread Filipe Laíns

Filipe Laíns  added the comment:

Can you share the link? I haven't seen anything recent. Is it under other 
thread?

--

___
Python tracker 
<https://bugs.python.org/issue25625>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45653] Freeze the encodings module.

2021-10-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
stage: needs patch -> patch review

___
Python tracker 
<https://bugs.python.org/issue45653>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45653] Freeze the encodings module.

2021-10-30 Thread Filipe Laíns

Filipe Laíns  added the comment:

I have already opened up the PR, but I can change if desired.

--
stage: patch review -> needs patch

___
Python tracker 
<https://bugs.python.org/issue45653>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45653] Freeze the encodings module.

2021-10-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27599
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29331

___
Python tracker 
<https://bugs.python.org/issue45653>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45653] Freeze the encodings module.

2021-10-30 Thread Filipe Laíns

Filipe Laíns  added the comment:

I just tested partially freezing the package, and it seems to working fine :)

--

___
Python tracker 
<https://bugs.python.org/issue45653>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45272] 'os.path' should not be a frozen module

2021-10-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27598
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29329

___
Python tracker 
<https://bugs.python.org/issue45272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45649] Add tarinfo.Path

2021-10-28 Thread Filipe Laíns

Filipe Laíns  added the comment:

That is good to know. This isn't very high on my priority list, but I will try 
to explore when I have some time.

--

___
Python tracker 
<https://bugs.python.org/issue45649>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45649] Add tarinfo.Path

2021-10-28 Thread Filipe Laíns

New submission from Filipe Laíns :

It would be helpful to have a pathlib-compatible object in tarfile, similarly 
to zipfile.Path.

--
components: Library (Lib)
messages: 405194
nosy: FFY00, jaraco
priority: normal
severity: normal
status: open
title: Add tarinfo.Path
type: enhancement
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue45649>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45591] PathFinder does not find namespace packages children

2021-10-27 Thread Filipe Laíns

Filipe Laíns  added the comment:

Okay, I think that makes sense to me. Thank you!!

--

___
Python tracker 
<https://bugs.python.org/issue45591>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45591] PathFinder does not find namespace packages children

2021-10-26 Thread Filipe Laíns

Filipe Laíns  added the comment:

Thank you for clarifying, that does work. This is surprising behavior to me, do 
you recall what was the reasoning for this design? Or is there some discussion 
you can point me to? And sorry for bothering, I know I am asking too many 
questions, but I'd like to understand the importlib design 

--

___
Python tracker 
<https://bugs.python.org/issue45591>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45545] chdir __exit__ is not safe

2021-10-25 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27483
pull_request: https://github.com/python/cpython/pull/29220

___
Python tracker 
<https://bugs.python.org/issue45545>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45545] chdir __exit__ is not safe

2021-10-25 Thread Filipe Laíns

Filipe Laíns  added the comment:

s/if we can chdir/if we can't chdir/

--

___
Python tracker 
<https://bugs.python.org/issue45545>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45545] chdir __exit__ is not safe

2021-10-25 Thread Filipe Laíns

Filipe Laíns  added the comment:

Alternatively, can't we just os.chdir(self._old_cwd) in __enter__ and 
preemptively fail? IMO it's probably better to just straight up fail if we can 
chdir back to the original directory than to have relatively fragile recovery 
logic.

--

___
Python tracker 
<https://bugs.python.org/issue45545>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45591] PathFinder does not find namespace packages children

2021-10-25 Thread Filipe Laíns

Filipe Laíns  added the comment:

Ah, this was not obvious to me! I did not specify a path, but as it defaults to 
`sys.path` and `namespace.a` is available there, I was expecting it to find it.
One of the things that threw me off was the first arguments being called 
`fullname`, which I assumed implied that `PathFinder` was able to do a 
recursive search.


This indeed works:
```
$ ./python
Python 3.11.0a1+ (heads/main:9e05da6224, Oct 23 2021, 20:36:14) [GCC 11.1.0] on 
linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.machinery import PathFinder
>>> spec = PathFinder.find_spec('namespace')
>>> PathFinder.find_spec('a', path=spec.submodule_search_locations)
ModuleSpec(name='a', loader=<_frozen_importlib_external.SourceFileLoader object 
at 0x7f245d0d3e80>, origin='/home/anubis/git/cpython/namespace/a.py')
```

I should have validated if normal packages also had the same behavior, which 
they do, before opening this -.-

I am curious, what is `fullname` supposed to mean then? "full" in what sense?

--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue45591>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45592] NamespaceLoader does not implement create_module or exec_module

2021-10-23 Thread Filipe Laíns

New submission from Filipe Laíns :

NamespaceLoader currently does not implement create_module or exec_module, 
which is problematic since load_module is deprecated.

The create_module docstring is the same as _LoaderBasics:

```
def create_module(self, spec):
"""Use default semantics for module creation."""
```

Is it intended to be empty, or is NamespaceLoader unfinished?

If this is intended, how should we create the module instead? If there is other 
part of the code dealing this, via a fallback in case the loader does not 
implement this method, wouldn't it make sense to put that in in the loader 
itself for standalone use?

--
messages: 404913
nosy: FFY00, brett.cannon, eric.snow, ncoghlan
priority: normal
severity: normal
status: open
title: NamespaceLoader does not implement create_module or exec_module

___
Python tracker 
<https://bugs.python.org/issue45592>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45591] PathFinder does not find namespace packages children

2021-10-23 Thread Filipe Laíns

New submission from Filipe Laíns :

```
$ tree namespace
namespace/
└── a.py

0 directories, 1 file
```

```
$ ./python
Python 3.9.7 (default, Oct 10 2021, 15:13:22)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.machinery import PathFinder
>>> PathFinder.find_
PathFinder.find_distributions(  PathFinder.find_module( 
PathFinder.find_spec(
>>> PathFinder.find_spec('namespace')
ModuleSpec(name='namespace', loader=None, 
submodule_search_locations=_NamespacePath(['/home/anubis/git/cpython/namespace']))
>>> PathFinder.find_spec('namespace.a')
```

Currently, it is unable to find namespace.a, but it should:

```
Python 3.11.0a1+ (heads/main:9e05da6224, Oct 23 2021, 20:36:14) [GCC 11.1.0] on 
linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.machinery import PathFinder
>>> spec = PathFinder.find_spec('namespace')
>>> spec.loader.load_module('namespace.a')
:283: DeprecationWarning: the load_module() method 
is deprecated and slated for removal in Python 3.12; use exec_module() instead
)>
```

I can make a PR, but just wanted to make sure the current behavior is not 
intended.

--
messages: 404912
nosy: FFY00, brett.cannon, eric.snow, ncoghlan
priority: normal
severity: normal
status: open
title: PathFinder does not find namespace packages children

___
Python tracker 
<https://bugs.python.org/issue45591>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40350] modulefinder chokes on numpy - dereferencing None in spec.loader

2021-10-23 Thread Filipe Laíns

Filipe Laíns  added the comment:

I opened up a new PR that should fix this properly. The root issue was that 
PathFinder was not setting the loader attribute for namespace packages in the 
spec, which it should. After fixing that, _find_module just needed to be 
updated to deal with NamespaceLoader.

```
$ tree namespace
namespace/
└── a.py

0 directories, 1 file
$ cat test-bpo-40350.py
import namespace.a
```

```
$ ./python
Python 3.11.0a1+ (heads/main:9e05da6224, Oct 23 2021, 20:36:14) [GCC 11.1.0] on 
linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import modulefinder
>>> modulefinder.ModuleFinder('test-bpo-40350.py')

>>> f = modulefinder.ModuleFinder('test-bpo-40350.py')
>>> f.
KeyboardInterrupt
>>> m = modulefinder.ModuleFinder()
>>> f = modulefinder.ModuleFinder()
>>> f.run_script('test-bpo-40350.py')
>>> f.modules.items()
dict_items([('__main__', Module('__main__', 'test-bpo-40350.py')), 
('namespace', Module('namespace', 
_NamespacePath(['/home/anubis/git/cpython/namespace'])))])
```

Previously:
```
$ python
Python 3.9.7 (default, Oct 10 2021, 15:13:22)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import modulefinder
>>> f = modulefinder.ModuleFinder()
>>> f.run_script('test-bpo-40350.py')
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/lib/python3.9/modulefinder.py", line 161, in run_script
self.load_module('__main__', fp, pathname, stuff)
  File "/usr/lib/python3.9/modulefinder.py", line 357, in load_module
self.scan_code(co, m)
  File "/usr/lib/python3.9/modulefinder.py", line 430, in scan_code
self._safe_import_hook(name, m, fromlist, level=0)
  File "/usr/lib/python3.9/modulefinder.py", line 375, in _safe_import_hook
self.import_hook(name, caller, level=level)
  File "/usr/lib/python3.9/modulefinder.py", line 173, in import_hook
q, tail = self.find_head_package(parent, name)
  File "/usr/lib/python3.9/modulefinder.py", line 229, in find_head_package
q = self.import_module(head, qname, parent)
  File "/usr/lib/python3.9/modulefinder.py", line 316, in import_module
fp, pathname, stuff = self.find_module(partname,
  File "/usr/lib/python3.9/modulefinder.py", line 508, in find_module
return _find_module(name, path)
  File "/usr/lib/python3.9/modulefinder.py", line 77, in _find_module
if spec.loader.is_package(name):
AttributeError: 'NoneType' object has no attribute 'is_package'
```

--

___
Python tracker 
<https://bugs.python.org/issue40350>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40350] modulefinder chokes on numpy - dereferencing None in spec.loader

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27465
pull_request: https://github.com/python/cpython/pull/29196

___
Python tracker 
<https://bugs.python.org/issue40350>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11602] python-config code should be in sysconfig

2021-10-23 Thread Filipe Laíns

Filipe Laíns  added the comment:

I can help out, but would like to wait until we get a resolution in GH-25718 as 
it will likely conflict.

--

___
Python tracker 
<https://bugs.python.org/issue11602>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40899] Document exceptions raised by importlib.import

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue40899>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45364] Add more documentation for ModuleSpec.loader_state.

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45364>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45272] 'os.path' should not be a frozen module

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45272>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45020] Freeze all modules imported during startup.

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45020>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22789] Compress the marshalled data in PYC files

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue22789>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1353344] python.desktop

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue1353344>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue11602] python-config code should be in sysconfig

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue11602>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27464
pull_request: https://github.com/python/cpython/pull/29194

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue33439] python-config.py should be part of the stdlib

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue33439>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27461
pull_request: https://github.com/python/cpython/pull/29190

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45582] Rewrite getpath.c in Python

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45582>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27460
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29189

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-23 Thread Filipe Laíns

Filipe Laíns  added the comment:

FROZEN_EXCLUDED is set when frozen modules have no code associated with them, 
and the _freeze_module tool doesn't seem to be able to produce such output.

We could remove it and replace it with an assert, but that does not give us 
much benefit, so we should probably leave it be and just document it a little 
bit better.

--
stage: patch review -> needs patch

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27454
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/29180

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-22 Thread Filipe Laíns

Filipe Laíns  added the comment:

I was looking at the code and it seems PyImport_ImportFrozenModuleObject does 
not set an error on FROZEN_BAD_NAME, it just returns 0, is this intended? If I 
pass a bogus object, it will just return 0.
This does not seem right.

Currently, FROZEN_BAD_NAME is never passed to set_frozen_error.

--

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27447
pull_request: https://github.com/python/cpython/pull/29174

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27446
pull_request: https://github.com/python/cpython/pull/29173

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45545] chdir __exit__ is not safe

2021-10-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45545>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45547] Modernize the importlib loaders

2021-10-20 Thread Filipe Laíns

Change by Filipe Laíns :


--
title: Modenize the importlib loaders -> Modernize the importlib loaders

___
Python tracker 
<https://bugs.python.org/issue45547>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45547] Modenize the importlib loaders

2021-10-20 Thread Filipe Laíns

New submission from Filipe Laíns :

ResourceLoader[1] is deprecated in favor of ResourceReader, which itself is 
surpassed by TraversableResources.

Would it make sense to replace ResourceLoader usages with ResourceReader in the 
importlib loaders?
And perhaps, would it make sense to replace them with the files()/Traversable 
protocol instead?

IMO this could simplify the code a bit, but that's subjective I guess, and 
better re-use the bytecode caching mechanism in SourceLoader, by providing an 
equivalent based on files()/Traversable instead.

This could also help push to add support for non filesystem based loaders in 
other parts of the code, like py_compile, which currently only supports 
operations on the filesystem.

Is this something we are interested in -- modernizing the importlib loaders 
with, arguably, better abstractions -- or do we want to keep the old protocols 
around?

[1] 
https://docs.python.org/3/library/importlib.html#importlib.abc.ResourceLoader

--
messages: 404540
nosy: FFY00, barry, brett.cannon, eric.snow, jaraco, ncoghlan
priority: normal
severity: normal
status: open
title: Modenize the importlib loaders

___
Python tracker 
<https://bugs.python.org/issue45547>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue33277] Deprecate __loader__, __package__, __file__, and __cached__ on modules

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue33277>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
type:  -> enhancement

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45520] Frozen dataclass deep copy doesn't work with __slots__

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +eric.smith

___
Python tracker 
<https://bugs.python.org/issue45520>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45449] Document that collections.abc types are subscriptable

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27318
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29047

___
Python tracker 
<https://bugs.python.org/issue45449>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42174] shutil.get_terminal_size() returns 0 when run in a pty

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27317
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29046

___
Python tracker 
<https://bugs.python.org/issue42174>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +27316
pull_request: https://github.com/python/cpython/pull/29045

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-18 Thread Filipe Laíns

Filipe Laíns  added the comment:

Actually, since TraversableResources is simply implementing ResourceReader, the 
protocol is documented. We could reference ResourceReader in the docstring 
though.

--

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +27310
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/29039

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45516] Add protocol description to the Traversable and TraversableResources documentation

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
assignee: docs@python
components: Documentation
nosy: FFY00, docs@python
priority: normal
severity: normal
status: open
title: Add protocol description to the Traversable and TraversableResources 
documentation

___
Python tracker 
<https://bugs.python.org/issue45516>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44210] Make importlib.metadata._meta.PackageMetadata public

2021-10-18 Thread Filipe Laíns

Change by Filipe Laíns :


--
stage: patch review -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue44210>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45131] `venv` → `ensurepip` may read local `setup.cfg` and fail mysteriously

2021-10-15 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +dstufft, ncoghlan, pradyunsg

___
Python tracker 
<https://bugs.python.org/issue45131>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42174] shutil.get_terminal_size() returns 0 when run in a pty

2021-10-15 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue42174>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45445] Fail if an invalid -X option is provided

2021-10-15 Thread Filipe Laíns

Change by Filipe Laíns :


--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
type:  -> enhancement
versions: +Python 3.11

___
Python tracker 
<https://bugs.python.org/issue45445>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45427] importlib.readers.MultiplexedPath

2021-10-15 Thread Filipe Laíns

Filipe Laíns  added the comment:

*realize I did *not* point this out

:facepalm: sorry!

--

___
Python tracker 
<https://bugs.python.org/issue45427>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45427] importlib.readers.MultiplexedPath

2021-10-15 Thread Filipe Laíns

Filipe Laíns  added the comment:

Just to clarify, as I realize I did point this out in my reply, 
Traversable[1][2] is the protocol that objects returned by 
importlib.resources.files implement.

[1] https://docs.python.org/3/library/importlib.html#importlib.abc.Traversable
[2] 
https://github.com/python/cpython/blob/00ffc4513df7b89a168e88da4d1e3ac367f7682f/Lib/importlib/abc.py#L355

--

___
Python tracker 
<https://bugs.python.org/issue45427>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45427] importlib.readers.MultiplexedPath

2021-10-15 Thread Filipe Laíns

Filipe Laíns  added the comment:

The Traversable protocol does not guarantee you access to the file-system path. 
pathlib.Path happens to give you that information, but other traversables are 
not required to.

The main reasoning for this is that traversables do not need to exist on the 
file-system, we can be reading from a zip, database, etc.

str(path) does give you the file-system path on pathlib.Path, but there is no 
guarantee about the value of __str__ on other traversables.
My recommendation here would be to use os.fspath[1] instead if you want to try 
getting the file-system path from traversables.

I don't really know what you are trying to accomplish, but I would recommend 
that you try designing your code directly on top of the Traversable interface, 
which should make it work on anything we return in importlib.resources.files.
If you actually need a file-system path, to pass to an external program or 
something like that, you can use the importlib.resources.as_file[2] helper.

bpo-44200 proposes documenting that traversables should implement __fspath__ if 
they represent a file-system path, which could help a bit with your issue.

[1] https://docs.python.org/3/library/os.html#os.fspath
[2] https://docs.python.org/3/library/importlib.html#importlib.resources.as_file

--
nosy: +FFY00, jaraco

___
Python tracker 
<https://bugs.python.org/issue45427>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45486] Stop using internal APIs in _xxsubinterpretersmodule.c.

2021-10-15 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45486>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45379] Improve errors related to frozen modules.

2021-10-15 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45379>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45449] Document that collections.abc types are subscriptable

2021-10-12 Thread Filipe Laíns

Filipe Laíns  added the comment:

Just to clarify: some type checkers will still allow using them as type hints 
in Python versions before 3.9, but `from __future__ import annotations` needs 
to be used so that we don't error out at ruuntime.

--

___
Python tracker 
<https://bugs.python.org/issue45449>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45449] Document that collections.abc types are subscriptable

2021-10-12 Thread Filipe Laíns

New submission from Filipe Laíns :

Since 3.9, the types in collections.abc are subscriptable and can be used as 
type hints, but this is not documented.
We should write something similar to what's on the typing module documentation 
for the deprecated types.

--
assignee: docs@python
components: Documentation
messages: 403744
nosy: FFY00, docs@python, gvanrossum, kj
priority: normal
severity: normal
status: open
title: Document that collections.abc types are subscriptable
type: enhancement
versions: Python 3.10, Python 3.11, Python 3.9

___
Python tracker 
<https://bugs.python.org/issue45449>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45413] Add install scheme for virtual environments

2021-10-08 Thread Filipe Laíns

Filipe Laíns  added the comment:

Yes, we could have several schemes, but I think having only one is more 
sensible.

The implementation would be fairly easy. We would just copy the "nt" scheme if 
on Windows, otherwise "posix_prefix".

--

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45413] Add install scheme for virtual environment

2021-10-08 Thread Filipe Laíns

New submission from Filipe Laíns :

Python 3.10 introduced sysconfig._get_preferred_schemes[1], a mechanism to 
allow downstream distributors to overwrite the default install scheme.
This is done to support downstream modifications where distributors change the 
installation layout (eg. different site-packages directory). So, distributors 
will change the default scheme to one that correctly represents their layout.

This presents an issue for projects/people that need to bootstrap virtual 
environments, like virtualenv (see [2]). As distributors might now be 
customizing the default install scheme, there is no guarantee that the 
information returned by sysconfig.get_default_scheme/get_paths is correct for 
the virtual environment, the only guarantee we have is that it correct for the 
*current* environment. When bootstrapping a virtual environment, we need to 
know its layout, so that we can place the files in the correct locations.

The usual solution in situations like this would be to invoke the interpreter 
we are targeting to get the correct information (eg. path/to/python -m 
sysconfig), but that is not possible here as the environment does not exist yet 
-- we are the ones trying to create it.

To solve this issue, I propose the addition of a "virtual" or "venv" install 
scheme, for virtual environments. The idea is that virtual environments 
(defined by the presence of pyvenv.cfg, see [3][4]) will always use this 
scheme, they will use the paths specified by this scheme and 
sysconfig.get_default_scheme will always return it (_get_preferred_schemes 
would have no effect here!).
This makes it possible to know the virtual environment layout for another 
interpreter, via sysconfig.get_paths(scheme='virtual').

I am not cure if this should be adopted in 3.10 or 3.11, as it effectively 
makes it impossible to reliably construct virtual environments, and requires 
workarounds such as [5], that pretty much implements this proposal with 
non-standardized downstream patches.

[1] 
https://docs.python.org/3/library/sysconfig.html#sysconfig._get_preferred_schemes
[2] https://github.com/pypa/virtualenv/issues/2208
[3] https://docs.python.org/3/library/site.html?highlight=pyvenv.cfg
[4] https://docs.python.org/3/library/venv.html?highlight=pyvenv.cfg
[5] https://github.com/pypa/virtualenv/pull/2209

--
assignee: FFY00
messages: 403485
nosy: FFY00, gaborjbernat, hroncok, jaraco
priority: normal
severity: normal
status: open
title: Add install scheme for virtual environment
type: enhancement
versions: Python 3.10, Python 3.11

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45413] Add install scheme for virtual environments

2021-10-08 Thread Filipe Laíns

Change by Filipe Laíns :


--
title: Add install scheme for virtual environment -> Add install scheme for 
virtual environments

___
Python tracker 
<https://bugs.python.org/issue45413>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45371] distutil's runtime_library_dir (rpath) option doesn't work with clang

2021-10-06 Thread Filipe Laíns

Filipe Laíns  added the comment:

The fix that was merged seems a bit hacky to me -- it changes the _is_gcc check 
so that it returns True on clang.

Even though distutils is deprecated and no longer synced externally, if someone 
needs to issue a similar fix, this might trip them over.

I would recommend replacing it with [1], from the now externally maintained 
distutils module.

[1] https://github.com/pypa/distutils/pull/55

--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45371>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44603] REPL: exit when the user types exit instead of asking them to explicitly type exit()

2021-09-26 Thread Filipe Laíns

Filipe Laíns  added the comment:

> Without disagreeing with the general sentiment, just note that you can always 
> do Ctrl-D.

That is true, but there are a couple setups where that doesn't work (those 
keypresses are consumed by something else). I may not be a good data point 
though.

> Running the REPL with -S is unusual, so having to use sys.exit() or `raise 
> SystemExit` in that case shouldn't be an issue. 

Yes, it is unusual, however I have found myself asking people to do that when 
debugging, and I always have to tell people "oh, btw, exit() doesn't work, you 
have to do ...", which is not nice.

> Even if you are running the REPL without the site module (so that exit 
and quit are not available) the import sys solution is surely the worst 
of the lot, UX-wise.

Two of the solutions you gave (exit and quit) don't work with -S, and 
Ctrl-D/Ctrl-Z doesn't work in all setups. raise SystemExit is the only real 
alternative I would consider when I am explaining things to people and want to 
avoid issues. I standardized in `import sys; sys.exit()` as it's generally 
easier for people starting out, even though it's 5 more keypresses.

---

Anyway, my point is simply that exiting on python -S does not have a great UX, 
something that I think should be considered when looking at this proposal. If 
you think the use-case is relevant enough to not warrant a change like this, 
that is a valid opinion.

My personal opinion is that we should optimize the UX for the people who are 
not that knowledgeable, as those are the ones that will have most trouble, 
while keeping it usable for the rest of users.
I think this change is a net positive considering those parameters, and I think 
the arguments against this proposal have not properly taken them into account.

FWIW, I consider myself a reasonably knowledgeable user, but still end up 
making this mistake myself a staggering amount of times.

$ rg 'exit\(\)$' ~/.python_history | wc -l
553
$ rg 'exit$' ~/.python_history | wc -l
132

--

___
Python tracker 
<https://bugs.python.org/issue44603>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44603] REPL: exit when the user types exit instead of asking them to explicitly type exit()

2021-09-25 Thread Filipe Laíns

Filipe Laíns  added the comment:

> In my view, that's exactly why it _shouldn't_ have a special treatment. After 
> all, site can add many more builtins. Do you want all of them to have 
> autocall?

No, and I did not suggest anything of the sort. I just want the exit because of 
its integral job of... exiting the REPL. Typing `import sys; sys.exit()` every 
time I want to test something quick on the REPL is awful UX.

--

___
Python tracker 
<https://bugs.python.org/issue44603>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44603] REPL: exit when the user types exit instead of asking them to explicitly type exit()

2021-09-24 Thread Filipe Laíns

Filipe Laíns  added the comment:

One technical argument on why it would be beneficial to have custom handling 
like this for exit is that exit is a site-builtin, not a builtin.

$ python -S
Python 3.9.7 (default, Aug 31 2021, 13:28:12)
[GCC 11.1.0] on linux
>>> exit()
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'exit' is not defined
>>> import sys
>>> sys.exit()

--

___
Python tracker 
<https://bugs.python.org/issue44603>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue30511] shutil.make_archive should not need to chdir (alternatively: make shutil.make_archive thread-safe)

2021-09-17 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00
nosy_count: 8.0 -> 9.0
pull_requests: +26830
pull_request: https://github.com/python/cpython/pull/28271

___
Python tracker 
<https://bugs.python.org/issue30511>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue40080] Stripping annotations out as a new optimization mode

2021-09-13 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue40080>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue25625] "chdir" Contex manager for pathlib

2021-09-10 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +26691
pull_request: https://github.com/python/cpython/pull/28271

___
Python tracker 
<https://bugs.python.org/issue25625>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45127] Code objects can contain unmarshallable objects

2021-09-07 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45127>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue45078] test_importlib: test_read_bytes() fails on AMD64 Windows8.1 Non-Debug 3.x

2021-09-01 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue45078>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43976] Allow Python distributors to add custom site install schemes

2021-09-01 Thread Filipe Laíns

Filipe Laíns  added the comment:

Matthias, can you check if bpo-44982 solves your issues related to the 
conflicts you were experiencing for the Debian patching?

If so, it would unblock this issue.

I am probably gonna discuss this proposal with the conda-forge folks next week, 
to get some feedback from the Conda perspective.
I would like to have this unblocked so that we can move forward, as far as I 
know the only issues are the ones Debian is experiencing about this proposal 
alone not being able to completely replace the downstream patching.

--

___
Python tracker 
<https://bugs.python.org/issue43976>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44982] Add vendor information

2021-08-23 Thread Filipe Laíns

Filipe Laíns  added the comment:

> I am unsure if having two different interpreters is a good solution, and it 
> certainly requires some cooperation with distros.

That is not the goal with this!

I think both this issue and the PEP are parallel. My goal here is to streamline 
the vendor patching of CPython, not propose parallel interpreters as an 
alternative.

Having discussed with you about your motivations and approach on packaging 
Python in Debian, I would definitely not expect you to adopt multiple 
interpreters in Debian.
The way this proposal mostly functionally impacts Debian is by isolating its 
namespace from the normal one, allowing you to drop changes like the 
dist-packages renaming -- because pip install will write to 
/usr/local/lib/python3.9-debian/site-packages and /usr/local Python installs 
will be looking at /usr/local/lib/python3.9/site-packages) -- and if I am not 
missing anything, unblocking bpo-43976.

--

___
Python tracker 
<https://bugs.python.org/issue44982>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44982] Add vendor information

2021-08-23 Thread Filipe Laíns

New submission from Filipe Laíns :

In the effort of making the UX better with vendored Python versions, I think it 
would make sense to track and expose vendor information.

Initially, the vendor information would be comprised of two fields, the vendor 
string (eg. `Debian`) and the vendor name (eg. `debian`).

If specified, it would change the interpreter/installation in the following 
ways:
  - The vendor string would be shown in places like the IDLE shell (eg. [1])
  - The vendor name would be added to the installation paths 
(/usr/lib/python3.9 would become /usr/lib/python3.9-debian)
- This would include scripts, so the interpreter would be called 
python3-debian, the vendors can then rename or symlink it to python3 if they 
want to have that be the default Python on the system

Additionally, I think we should add two new functions to the platform module, 
platform.vendor() and platform.vendor_name().

Overall, I think this would help out users identify the Python installation and 
avoid clashes between Python installations, even allowing parallel 
installations.
If I remember everything correctly, this should fix Matthias issues with 
bpo-43976. Matthias, could you confirm?

Any thoughts?


[1] new IDLE shell output

Debian Python 3.9.6 (default, Jun 30 2021, 10:22:16)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

--
messages: 400135
nosy: FFY00, christian.heimes, doko, jaraco, steve.dower, willingc
priority: normal
severity: normal
status: open
title: Add vendor information
type: enhancement
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue44982>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44981] `module has no attribute` when `__all__` includes certain unicode characters

2021-08-23 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue44981>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37596] Reproducible pyc: frozenset is not serialized in a deterministic order

2021-08-14 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +26244
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/27769

___
Python tracker 
<https://bugs.python.org/issue37596>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43976] Allow Python distributors to add custom site install schemes

2021-08-10 Thread Filipe Laíns

Filipe Laíns  added the comment:

Hi Jason, thank you.

I already tried 1), but could not convince Matthias on an alternative way to 
achieve the result that Debian wants. If you want, maybe you and I could try 
restarting those discussions.

2) is fine, but I am not the one that will me maintaining it, so it is a 
question for the core devs. I mean, I could commit to working on it and dealing 
with issues, but I am not a core dev, so it would always need to involve 
someone else.

3) does not really make sense as of the distutils deprecation. What needs to be 
patched are the install schemes, which are now outside distutils/setuptools.
I had hoped that we were able to have the mechanism proposed here in 3.10, so 
that people could just replace their distutils patches with it, but it was not 
possible.

I am not sure how to proceed.

--

___
Python tracker 
<https://bugs.python.org/issue43976>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44445] Add `site-include` install scheme path in sysconfig

2021-08-10 Thread Filipe Laíns

Filipe Laíns  added the comment:

distutils will install the headers to 
{base}/include/python{py_version_short}{abiflags}/{dist_name}, and I think 
probably the best option would be to do the same. So, I think we could add a 
site-include scheme like I described and have the installers append a directory 
with the distribution name to it.

I think it would be reasonable to put all headers in a shared directory, 
site-include, given that we make sure the installers put them in a subdirectory 
for each distribution.

About standardizing pkg-config-like metadata, I don't think that's a great 
idea, as it would not replace the mechanisms you mentioned. It might replace 
some, but not all, as there could always be a use-case that needs more 
information or interaction than what our standard may provide.

Does this make sense to you?

--

___
Python tracker 
<https://bugs.python.org/issue5>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43976] Allow Python distributors to add custom site install schemes

2021-08-06 Thread Filipe Laíns

Filipe Laíns  added the comment:

Yes, but in the process of deprecating disutils, some internals were changed to 
stop relying on it. This will cause a lot of downstream patches to break.
I you are not modifying CPython, you don't need to worry, but if you are, then 
you should have a look and figure out how/where to patch it now.

As far as the public distutils API is concerned, everything will still the same 
until 3.12, just with deprecation warnings.
Development has moved to [1] and it will eventually be merged into setuptools.

[1] https://github.com/pypa/distutils

--

___
Python tracker 
<https://bugs.python.org/issue43976>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43976] Allow Python distributors to add custom site install schemes

2021-08-06 Thread Filipe Laíns

Filipe Laíns  added the comment:

s/still/stay/

--

___
Python tracker 
<https://bugs.python.org/issue43976>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43976] Allow Python distributors to add custom site install schemes

2021-08-06 Thread Filipe Laíns

Filipe Laíns  added the comment:

I find it very difficult. I would be a bit anxious merging the code this close 
to the final release, so I imagine the release managers would be much more.

Anyway, this is the current state of this issue from my perspective:

As far as I understand, progress is currently blocked because Matthias thinks 
this mechanism must allow Debian to replace all related downstream patches.
I disagree with him in the way Debian is patching Python, which IMO is way too 
intrusive and fragile. Given that this vendor config will essentially shift the 
burden of supporting these modifications to the Python upstream, I don't think 
it would be a good idea to allow the modifications Debian wants in this config.
For all other downstreams I have talked to, the proposal seems to be fine, 
though more testing would definitely be appreciated.

I think that at this point, we could really use a core dev to help push this to 
the state of being able to get merged, because I don't think I can do that 
alone.
I have already requested feedback from the community and the technical 
discussions on the PR went silent, so I do not see what else I can do :/
If needed, I would be available to brief anyone on my understanding of the 
issues and how this proposal handles that. So, any core dev, please feel free 
to reach out if you want to help move this forward.

--

___
Python tracker 
<https://bugs.python.org/issue43976>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44843] Add CLI flag to disable hash randomization

2021-08-05 Thread Filipe Laíns

New submission from Filipe Laíns :

There are select use-cases where hash randomization is undesirable, having a 
CLI option to switch it off would be very helpful.
One example would be packaging, where hash randomization will make the bytecode 
unreproducible.

Currently, we have to set PYTHONHASHSEED to a constant value. Having a CLI 
option (lets say -Z) would allow use to do

  python -Zm install artifact.whl

instead of

  PYTHONHASHSEED=0 python -m install artifact.whl

Which is something that I have to do lots of places.

--
messages: 399026
nosy: FFY00
priority: normal
severity: normal
status: open
title: Add CLI flag to disable hash randomization
versions: Python 3.11

___
Python tracker 
<https://bugs.python.org/issue44843>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42839] SourceFileLoader does not (fully) accept path-like objects

2021-07-31 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue42839>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35673] Loader for namespace packages

2021-07-31 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue35673>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44648] Inspect.getsource raises wrong error on classes in interactive session

2021-07-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00
nosy_count: 5.0 -> 6.0
pull_requests: +26013
pull_request: https://github.com/python/cpython/pull/27484

___
Python tracker 
<https://bugs.python.org/issue44648>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44771] Adopt changes from importlib_resources 5.2

2021-07-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +26000
pull_request: https://github.com/python/cpython/pull/27484

___
Python tracker 
<https://bugs.python.org/issue44771>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44777] Create mechanism to contact buildbot worker owners

2021-07-30 Thread Filipe Laíns

Change by Filipe Laíns :


--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue44777>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44717] Improve AttributeError on circular imports of submodules

2021-07-24 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +25886
pull_request: https://github.com/python/cpython/pull/27344

___
Python tracker 
<https://bugs.python.org/issue44717>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44717] Improve AttributeError on circular imports of submodules

2021-07-24 Thread Filipe Laíns

Change by Filipe Laíns :


--
pull_requests: +25881
pull_request: https://github.com/python/cpython/pull/27338

___
Python tracker 
<https://bugs.python.org/issue44717>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39632] variadic function call broken on armhf when passing a float argument

2021-07-22 Thread Filipe Laíns

Filipe Laíns  added the comment:

#28491 is now resolved, so the PR should be unblocked. Would you mind rebasing 
it on main to retrigger the CI?

--
nosy: +FFY00

___
Python tracker 
<https://bugs.python.org/issue39632>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44717] Improve AttributeError on circular imports of submodules

2021-07-22 Thread Filipe Laíns

Change by Filipe Laíns :


--
keywords: +patch
pull_requests: +25842
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/27299

___
Python tracker 
<https://bugs.python.org/issue44717>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue44717] Improve AttributeError on circular imports of submodules

2021-07-22 Thread Filipe Laíns

New submission from Filipe Laíns :

Consider the following


$ tree a
a
├── b
│   ├── c.py
│   └── __init__.py
└── __init__.py

1 directory, 3 files
$ cat a/b/__init__.py
import a.b.c
$ cat a/b/c.py
import a.b

a.b
$ python
Python 3.9.6 (default, Jun 30 2021, 10:22:16)
[GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import a.b
Traceback (most recent call last):
  File "", line 1, in 
  File "/home/anubis/test/a/b/__init__.py", line 1, in 
import a.b.c
  File "/home/anubis/test/a/b/c.py", line 3, in 
a.b
AttributeError: module 'a' has no attribute 'b'


This happens because even though the module `a` is initialized, the `b` 
attribute is not set due to the circular import. When a module is partially 
initialized, we get a more helpful error description hinting that we cannot 
access the attribute because the module is partially initialized, we could have 
something similar here.

--
components: Interpreter Core
messages: 398021
nosy: FFY00, pablogsal
priority: normal
severity: normal
status: open
title: Improve AttributeError on circular imports of submodules
type: enhancement

___
Python tracker 
<https://bugs.python.org/issue44717>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42854] OpenSSL 1.1.1: use SSL_write_ex() and SSL_read_ex()

2021-07-19 Thread Filipe Laíns

Filipe Laíns  added the comment:

https://twitter.com/geofft/status/1417167982665551877

--
nosy: +FFY00
resolution: fixed -> 
status: closed -> open

___
Python tracker 
<https://bugs.python.org/issue42854>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



  1   2   3   >