Eric Masseran
d866ec0f80
Add support for dataclass_transform decorator
2025-02-14 17:05:28 +01:00
Martin Vielsmaier
950ce70239
Prioritize conftest over plugins for pytest fixtures
2024-01-26 10:39:15 +01:00
Martin Vielsmaier
6982a49977
Fix codestyle
2024-01-24 13:11:26 +01:00
Martin Vielsmaier
9b8cece7ef
Improve pytest plugin loading
2024-01-23 20:54:21 +01:00
Martin Vielsmaier
162034b387
Fix line length.
2024-01-23 20:54:21 +01:00
Martin Vielsmaier
7d77f61040
Add support for pytest fixtures from local pytest plugins.
2024-01-23 20:54:21 +01:00
Peter Law
54cb64292c
Support importlib.metadata entry points for newer python
...
pkg_resources is deprecated and liable to be dropped at some point.
2023-05-28 11:48:19 +01:00
Peter Law
483e78993d
attrs' frozen decorator also acts like a dataclass
...
In 23.1.0 (specifically in 46053d703d )
the definition of the `frozen` decorator was tweaked slightly, such
that its type stub is separate from that for `define`. This means
that Jedi needs to be told about it as a separate member.
I've manually checked that this still works with the prior version
of `attrs`.
Fixes https://github.com/davidhalter/jedi/issues/1929
2023-05-27 00:13:55 +01:00
Dave Halter
9723a0eed0
Merge pull request #1879 from marciomazza/find-external-pytest-fixtures
...
Find external pytest fixtures
2022-11-11 15:46:40 +00:00
Alex Ford
40e1e3f560
Extend dataclass constructor hinting to attrs next-gen apis.
...
Trivially extends dataclass constructor hinting to attrs next-gen APIs.
This will stumble in cases where attrs extends beyond the standard
dataclasses API, such as complex use of defaults, converters, et al.
However, it likely covers the vast majority of cases which fall solidly
in the intersection of the two APIs.
Extension beyond these cases could use [PEP0681 dataclass_transforms],
however this is definitely a problem for another day.
[PEP0681 dataclass_transforms]: https://peps.python.org/pep-0681/
https://github.com/davidhalter/jedi/issues/1835
2022-10-11 17:40:31 -07:00
Marcio Mazza
e25750ecef
Make code compatible with python < 3.8
2022-09-05 17:05:11 -03:00
Marcio Mazza
1a306fddbf
Fix check pytest fixture from import on the right context
2022-09-04 13:12:13 -03:00
Marcio Mazza
fa1e9ce9a7
Simplify entry points enumeration
2022-09-03 17:16:32 -03:00
Marcio Mazza
8447d7f3e4
Discard imports of modules as pytest fixtures
2022-09-03 17:16:32 -03:00
Marcio Mazza
27e13e4072
Allow for multiple returns from goto_import
2022-09-03 17:16:32 -03:00
Marcio Mazza
9fd4aab5da
Find pytest fixtures from external plugins registered via setuptools entry points
...
Using setuptools entry points is probably the main pytest mechanism of
plugin discovery.
See https://docs.pytest.org/en/stable/how-to/writing_plugins.html#setuptools-entry-points
This extends the functionality of #791
and maybe eliminates the need for #1786 .
2022-09-03 17:16:32 -03:00
Dave Halter
42508d9309
Fix fixture annotations for pytest
...
This means mostly these:
@fixture
def foo() -> Generator[int, None, None]: ...
2021-11-16 22:57:25 +01:00
boerde
3cf98f6ba1
paramters with annotation do not need special pytest handling
2021-08-29 09:17:04 +02:00
Samuele FAVAZZA
613cb08325
BUGFIX: prevent an infinite loop seeking for a "conftest.py" file
2021-01-30 16:31:26 +01:00
Dave Halter
85ec94cf65
Fix pytest issues, fixes #1699
2020-12-26 03:32:17 +01:00
Dave Halter
e671a0cb6d
Fix an error with enums, fixes #1675
2020-10-23 20:25:00 +02:00
Mvdk
ff439039da
make contextualized_node an optional kwarg
...
In all other py__iter__ definitions that I found, this argument is optional. It also often seems to not be passed around. I'm not sure why it was deemed mandatory here despite not being used.
2020-09-14 10:27:19 -06:00
Peter Law
b892c07841
Merge branch 'master' into mypy
2020-07-26 12:25:19 +01:00
Dave Halter
9d1587a41d
Don't need to inherit from object anymore
2020-07-26 00:11:57 +02:00
Peter Law
35c2d660cb
Fix most import related mypy errors
2020-07-24 16:10:34 +01:00
Dave Halter
784e965d3a
@property now returns Name.type == 'property', fixes muffinmad/anakin-language-server#15
2020-07-20 01:20:24 +02:00
Dave Halter
1ece7698c2
Merge branch 'master' into python3
2020-07-17 16:07:54 +02:00
Dave Halter
d1851c369c
Introduce py__next__ to have more clear way to use __next__
2020-07-17 15:57:32 +02:00
Dave Halter
480a464179
Implement all remaining Path issues and use it instead of strings
2020-07-12 01:14:00 +02:00
Dave Halter
24a1bbb3ca
Even more super deletions
2020-07-02 12:29:10 +02:00
Dave Halter
5ab351dc8f
Remove unicode literals from code base
2020-07-02 10:43:14 +02:00
Dave Halter
1fbe0d8d2e
Remove python_version_match from publish_method
2020-07-02 03:04:14 +02:00
Dave Halter
6e184bca97
Remove most version_info.major usages
2020-07-02 03:00:01 +02:00
Dave Halter
49e4b1a0f8
Remove force_unicode
2020-07-02 01:47:21 +02:00
Dave Halter
f9a35ae42a
Remove FileNotFoundError compatibility
2020-07-02 01:05:13 +02:00
Dave Halter
395f7fc59e
Remove inspect.Parameter compatibility
2020-07-02 00:44:25 +02:00
Dave Halter
9a54e583e7
Fix docstrings for method decorators, fixes #1621
2020-06-27 02:18:31 +02:00
Dave Halter
59ccd2da93
Make partial use the __doc__ of its function, fixes #1621
2020-06-27 02:18:31 +02:00
Dave Halter
364d33119c
Merge branch 'django'
2020-06-14 22:24:31 +02:00
Dave Halter
1702a6340e
Document a special case in Django a bit better
2020-06-14 22:23:08 +02:00
Dave Halter
674e0114a5
Ignore runtime_checkable, because we don't really need it
2020-06-14 14:14:47 +02:00
Dave Halter
9de5ab2037
Make it possible to complete on QuerySet methods, fixes #1587
2020-06-13 20:55:37 +02:00
Dave Halter
3415ccbb73
Add support for Django signatures, fixes parts of #1587
2020-06-13 16:18:47 +02:00
Dave Halter
b165596a6e
Avoid doing a call twice for now reason
2020-06-13 14:25:52 +02:00
Dave Halter
df7dd026d2
Make it possible to use inheritance on generics without always specifying type vars, see also discussion in #1593
2020-06-10 09:54:32 +02:00
Dave Halter
a2108de2c0
Use py__get__ for Django Model.objects
...
This includes the fix in https://github.com/typeddjango/django-stubs/pull/394
2020-06-09 23:26:43 +02:00
Dave Halter
6d0d75c7d9
@publish_method should provide arguments
2020-06-09 22:37:50 +02:00
Dave Halter
c9a21adc5f
Make sure py__get__ is applied properly for Django metaclasses
2020-06-07 15:01:12 +02:00
Dave Halter
9adcf3d233
Make sure meta class filters can distinguish between classes and instances
2020-06-07 14:54:26 +02:00
Dave Halter
34cc8e9ad7
Properly handle __get__ in properties/partials
2020-06-07 14:18:45 +02:00