Remove the 'extra_tests' argument if a Django version >= 4.0
Merge-request: IJ-MR-120964
Merged-by: Egor Eliseev <Egor.Eliseev@jetbrains.com>
GitOrigin-RevId: d9274d828827112a01fd04d0ea62f4df945772af
Provided proper settings for the histogram and put them into histogramSettings class. Now visualisations are wider and shorter.
Labels size depends on a sum labels length only, todo: make it depend on a font size.
Merge-request: IJ-MR-118535
Merged-by: Georgii Zorabov <georgii.zorabov@jetbrains.com>
GitOrigin-RevId: 2d94e7d10c39e38c1946839c4474ead4591fe73e
- Drop support for python 3.5 & 3.6 in compatibility inspection
- Fix and remove some outdated tests
- Remove xmls for long-unsupported python 2.6 & 3.5
- Regenerate versions.xml
- Remove mentions of OS-specific modules
GitOrigin-RevId: 3265dd1de8a4f7a41119e10c95bb705ca5845efe
Fixed the case, when a dataframe has RangeIndex. In that case, "level" argument in "sort_index" is not applicable.
GitOrigin-RevId: 9c2744dffee76a0a0a601e28daec6915e89d7a0e
- if there are 3 unique values in a column and percentage vis is shown, no Other value shown (but all three values)
- if column contains value with name Other no collision with the word Other for percentage vis is present.
- fixed color names
- refactored code for python part
- int percentages are shown as ints, but double values are rounded to 1 digit
- added more types to visualisations
- fixed null column for polars case
Merge-request: IJ-MR-117790
Merged-by: Georgii Zorabov <georgii.zorabov@jetbrains.com>
GitOrigin-RevId: 60f88336666e839d671f40614a012121a2177258
importlib.metadata reads package details from respective METADATA files instead of dist-info folder name, thus resulting in exception if this file gets corrupted
GitOrigin-RevId: 306f2fdec202fe97b1073380a8c1267a11532994
fixes for visualisations in table header. Percentage threshold is moved from 70 to 60, size of visualisations is decreased, font of percentage values is changed, colours are properly named, so everything works good when theme is switched and describe command processing is refactored to correctly avoid possible warnings in its text for pandas and polars, also, added bars to histograms with height 0 to get rid of empty space.
Merge-request: IJ-MR-117579
Merged-by: Georgii Zorabov <georgii.zorabov@jetbrains.com>
GitOrigin-RevId: cf9e75fa51d827266c5b63116769bc662cc0d26b
Now percentage and unique statistic visualisation are shown for table columns. Also, fixed code in pydevd_polars.py, pydevd_pandas.py and DSStatisticsTableHeader. Aditionaly, renamed color for histogram bars, so it shows correctly both for new and old UI
Merge-request: IJ-MR-116093
Merged-by: Georgii Zorabov <georgii.zorabov@jetbrains.com>
GitOrigin-RevId: d62776f8c696b14a95286713ea3b24cef72ad34d
The introduction of TypeVarTuples and the concept of unpacked tuple types made us
revise all the places where we match sequences of types in type inference.
For instance, when matching type parameters and type arguments for generic
specialization in:
* type hints, i.e. xs: MyGeneric[int, str] = MyGeneric()
* constructor invocations, i.e. xs = MyGeneric[int, str]()
* class declarations, i.e. class MyGeneric(Base[T1, T2, str]): ...
* type alias declarations, i.e. MyAlias: TypeAlias = MyGeneric[T, int]
as well as during type matching of all generic types, both normal non-variadic and
existing "built-in" generic variadics in the type system, namely tuples and
Callables.
Previously, this logic was spread across numerous places in PyTypeChecker and
PyTypingTypeProvider, all with their own subtle differences. The first attempt
of PEP 646 support put all the code for uniform matching of type parameters directly
in PyTypeChecker, significantly complicating its already arcane internals.
I've introduced a unified API for that called PyTypeParameterMapping.
It still retains some of the former quirks in form of its Option flags, controlling
in particular how we handle having some of the expected types unmatched
(imagine expecting MyGeneric[T1, T2, *Ts] and receiving MyGeneric[int]),
but I'm planning to gradually eliminate this conditional logic.
The same class is now also responsible for matching parameter types of callables
that already allowed to fix some of the known problems, such as ignoring their
arity (PY-16994), but I'm going to extract a separate API entity for that, since
matching of callable signatures is a much more complicated task involving
compatibility of different types of parameters (positional-only, keyword-only,
defaults, varargs, etc.).
Another positive side effect of these changes is that substitution of type
parameters during type inference became more consistent, and we no longer lose
useful type information by replacing all unbound type parameters with Any. It's
particularly visible in type checker errors where we stopped dropping unbound type
parameters from messages about mismatched parameter-argument types.
Among other improvements in this changeset are proper scoping for
TypeVarTuples, consistent with other type parameters, and recognizing TypeVarTuples
and unpacked tuples in types of *args parameters in function bodies, e.g.
`*args: *Ts` translates to "args" parameter having the type `tuple[*Ts]`.
Confusing PyNoMatchedType used only for reporting of missing arguments for *args
parameters annotated with unpacked tuples in the type checker inspection, e.g.
def f(*args: *tuple[int, str]): ...
f(42) # a type checker error about a missing argument for str
was also removed from the type system in favor of a simpler approach with handling
such errors directly in the inspection. We might need such a general type in
the future, but it has to be well thought-through.
GitOrigin-RevId: 63db6202254205863657f014632d141d340fe147