diff --git a/CHANGELOG/index.html b/CHANGELOG/index.html index 7dc0f809..3835e6c3 100644 --- a/CHANGELOG/index.html +++ b/CHANGELOG/index.html @@ -442,6 +442,15 @@ + + +
  • + + + 0.4.13 - 2024-04-15 + + +
  • @@ -2063,6 +2072,15 @@ +
  • + +
  • + + + 0.4.13 - 2024-04-15 + + +
  • @@ -3662,7 +3680,8 @@

    Changelog🔗

    -

    Unreleased🔗

    +

    Unreleased🔗

    +

    0.4.13 - 2024-04-15🔗

    diff --git a/search/search_index.json b/search/search_index.json index ecb81949..9e9fa6a8 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Pydantic PyCharm Plugin","text":"

    A JetBrains PyCharm plugin for pydantic.

    "},{"location":"#interview","title":"Interview","text":"

    I got interviewed about this plugin for JetBrains' PyCharm Blog.

    "},{"location":"#sponsors","title":"Sponsors","text":""},{"location":"#features","title":"Features","text":""},{"location":"#implemented","title":"Implemented","text":""},{"location":"#pydanticbasemodel","title":"pydantic.BaseModel","text":""},{"location":"#pydanticgenericsgenericmodel","title":"pydantic.generics.GenericModel","text":""},{"location":"#pydanticdataclassesdataclass","title":"pydantic.dataclasses.dataclass","text":""},{"location":"#pydanticcreate_model-experimental","title":"pydantic.create_model [experimental]","text":""},{"location":"#sqlmodelsqlmodel","title":"sqlmodel.SQLModel","text":""},{"location":"#supported-pydantic-major-versions","title":"Supported Pydantic major versions","text":""},{"location":"#demo","title":"Demo","text":""},{"location":"#quick-installation","title":"Quick Installation","text":"

    The plugin is in Jetbrains repository (Pydantic Plugin Page)

    You can install the stable version on PyCharm's Marketplace (Preference -> Plugins -> Marketplace) Official Documentation

    The plugin requires PyCharm 2020.2 or later (include other JetBrains IDEs)

    "},{"location":"#contribute","title":"Contribute","text":"

    We are waiting for your contributions to pydantic-pycharm-plugin.

    "},{"location":"#links","title":"Links","text":""},{"location":"#jetbrains-plugin-page","title":"JetBrains Plugin Page","text":"

    Pydantic Plugin Page

    "},{"location":"#motivation","title":"Motivation","text":"

    Auto-completion when instantiating BaseModel objects #650

    "},{"location":"#other-pycharm-plugin-projects","title":"Other PyCharm plugin projects","text":"

    Poetry PyCharm Plugin

    "},{"location":"#this-project-is-currently-in-an-experimental-phase","title":"This project is currently in an experimental phase","text":""},{"location":"CHANGELOG/","title":"Changelog","text":""},{"location":"CHANGELOG/#unreleased","title":"Unreleased","text":""},{"location":"CHANGELOG/#0412-2024-03-14","title":"0.4.12 - 2024-03-14","text":""},{"location":"CHANGELOG/#0411-2024-01-12","title":"0.4.11 - 2024-01-12","text":""},{"location":"CHANGELOG/#0410-2023-12-07","title":"0.4.10 - 2023-12-07","text":""},{"location":"CHANGELOG/#049-2023-10-12","title":"0.4.9 - 2023-10-12","text":""},{"location":"CHANGELOG/#048-2023-09-14","title":"0.4.8 - 2023-09-14","text":""},{"location":"CHANGELOG/#047-2023-08-07","title":"0.4.7 - 2023-08-07","text":""},{"location":"CHANGELOG/#046-232-2023-07-20","title":"0.4.6-232 - 2023-07-20","text":""},{"location":"CHANGELOG/#045-232-2023-07-17","title":"0.4.5-232 - 2023-07-17","text":""},{"location":"CHANGELOG/#044-232-2023-07-14","title":"0.4.4-232 - 2023-07-14","text":""},{"location":"CHANGELOG/#043-232-2023-06-26","title":"0.4.3-232 - 2023-06-26","text":""},{"location":"CHANGELOG/#043-2023-06-26","title":"0.4.3 - 2023-06-26","text":""},{"location":"CHANGELOG/#042-231-2023-03-22","title":"0.4.2-231 - 2023-03-22","text":""},{"location":"CHANGELOG/#042-2023-03-21","title":"0.4.2 - 2023-03-21","text":""},{"location":"CHANGELOG/#041-231-2023-03-02","title":"0.4.1-231 - 2023-03-02","text":""},{"location":"CHANGELOG/#040-2023-03-02","title":"0.4.0 - 2023-03-02","text":""},{"location":"CHANGELOG/#0317-2022-12-16","title":"0.3.17 - 2022-12-16","text":""},{"location":"CHANGELOG/#0316-2022-12-09","title":"0.3.16 - 2022-12-09","text":""},{"location":"CHANGELOG/#0315","title":"0.3.15","text":""},{"location":"CHANGELOG/#0314","title":"0.3.14","text":""},{"location":"CHANGELOG/#0313","title":"0.3.13","text":""},{"location":"CHANGELOG/#features","title":"Features","text":""},{"location":"CHANGELOG/#0312","title":"0.3.12","text":""},{"location":"CHANGELOG/#features_1","title":"Features","text":""},{"location":"CHANGELOG/#0311","title":"0.3.11","text":""},{"location":"CHANGELOG/#features_2","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes","title":"BugFixes","text":""},{"location":"CHANGELOG/#0310","title":"0.3.10","text":""},{"location":"CHANGELOG/#features_3","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_1","title":"BugFixes","text":""},{"location":"CHANGELOG/#039","title":"0.3.9","text":""},{"location":"CHANGELOG/#features_4","title":"Features","text":""},{"location":"CHANGELOG/#038","title":"0.3.8","text":""},{"location":"CHANGELOG/#features_5","title":"Features","text":""},{"location":"CHANGELOG/#037","title":"0.3.7","text":""},{"location":"CHANGELOG/#bugfixes_2","title":"BugFixes","text":""},{"location":"CHANGELOG/#036","title":"0.3.6","text":""},{"location":"CHANGELOG/#bugfixes_3","title":"BugFixes","text":""},{"location":"CHANGELOG/#035","title":"0.3.5","text":""},{"location":"CHANGELOG/#features_6","title":"Features","text":""},{"location":"CHANGELOG/#034","title":"0.3.4","text":""},{"location":"CHANGELOG/#features_7","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_4","title":"BugFixes","text":""},{"location":"CHANGELOG/#033","title":"0.3.3","text":""},{"location":"CHANGELOG/#bugfixes_5","title":"BugFixes","text":""},{"location":"CHANGELOG/#032","title":"0.3.2","text":""},{"location":"CHANGELOG/#bugfixes_6","title":"BugFixes","text":""},{"location":"CHANGELOG/#031","title":"0.3.1","text":""},{"location":"CHANGELOG/#features_8","title":"Features","text":""},{"location":"CHANGELOG/#030","title":"0.3.0","text":""},{"location":"CHANGELOG/#features_9","title":"Features","text":""},{"location":"CHANGELOG/#021","title":"0.2.1","text":""},{"location":"CHANGELOG/#features_10","title":"Features","text":""},{"location":"CHANGELOG/#020","title":"0.2.0","text":""},{"location":"CHANGELOG/#bugfixes_7","title":"BugFixes","text":""},{"location":"CHANGELOG/#0120","title":"0.1.20","text":""},{"location":"CHANGELOG/#features_11","title":"Features","text":""},{"location":"CHANGELOG/#0119","title":"0.1.19","text":""},{"location":"CHANGELOG/#bugfixes_8","title":"BugFixes","text":""},{"location":"CHANGELOG/#0118","title":"0.1.18","text":""},{"location":"CHANGELOG/#features_12","title":"Features","text":""},{"location":"CHANGELOG/#0117","title":"0.1.17","text":""},{"location":"CHANGELOG/#features_13","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_9","title":"BugFixes","text":""},{"location":"CHANGELOG/#0116","title":"0.1.16","text":""},{"location":"CHANGELOG/#bugfixes_10","title":"BugFixes","text":""},{"location":"CHANGELOG/#0115","title":"0.1.15","text":""},{"location":"CHANGELOG/#bugfixes_11","title":"BugFixes","text":""},{"location":"CHANGELOG/#0114","title":"0.1.14","text":""},{"location":"CHANGELOG/#bugfixes_12","title":"BugFixes","text":""},{"location":"CHANGELOG/#0113","title":"0.1.13","text":""},{"location":"CHANGELOG/#features_14","title":"Features","text":""},{"location":"CHANGELOG/#0112","title":"0.1.12","text":""},{"location":"CHANGELOG/#features_15","title":"Features","text":""},{"location":"CHANGELOG/#0111","title":"0.1.11","text":""},{"location":"CHANGELOG/#features_16","title":"Features","text":""},{"location":"CHANGELOG/#0110","title":"0.1.10","text":""},{"location":"CHANGELOG/#bugfixes_13","title":"BugFixes","text":""},{"location":"CHANGELOG/#019","title":"0.1.9","text":""},{"location":"CHANGELOG/#bugfixes_14","title":"BugFixes","text":""},{"location":"CHANGELOG/#018","title":"0.1.8","text":""},{"location":"CHANGELOG/#features_17","title":"Features","text":""},{"location":"CHANGELOG/#017","title":"0.1.7","text":""},{"location":"CHANGELOG/#features_18","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_15","title":"BugFixes","text":""},{"location":"CHANGELOG/#016","title":"0.1.6","text":""},{"location":"CHANGELOG/#features_19","title":"Features","text":""},{"location":"CHANGELOG/#015","title":"0.1.5","text":""},{"location":"CHANGELOG/#features_20","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_16","title":"BugFixes","text":""},{"location":"CHANGELOG/#014","title":"0.1.4","text":""},{"location":"CHANGELOG/#bugfixes_17","title":"BugFixes","text":""},{"location":"CHANGELOG/#features_21","title":"Features","text":""},{"location":"CHANGELOG/#013","title":"0.1.3","text":""},{"location":"CHANGELOG/#features_22","title":"Features","text":""},{"location":"CHANGELOG/#012","title":"0.1.2","text":""},{"location":"CHANGELOG/#bugfixes_18","title":"BugFixes","text":""},{"location":"CHANGELOG/#011","title":"0.1.1","text":""},{"location":"CHANGELOG/#features_23","title":"Features","text":""},{"location":"CHANGELOG/#010","title":"0.1.0","text":""},{"location":"CHANGELOG/#features_24","title":"Features","text":""},{"location":"CHANGELOG/#0030","title":"0.0.30","text":""},{"location":"CHANGELOG/#bugfixes_19","title":"BugFixes","text":""},{"location":"CHANGELOG/#0029","title":"0.0.29","text":""},{"location":"CHANGELOG/#features_25","title":"Features","text":""},{"location":"CHANGELOG/#0028","title":"0.0.28","text":""},{"location":"CHANGELOG/#features-bugfixes","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0027","title":"0.0.27","text":""},{"location":"CHANGELOG/#features_26","title":"Features","text":""},{"location":"CHANGELOG/#0026","title":"0.0.26","text":""},{"location":"CHANGELOG/#features_27","title":"Features","text":""},{"location":"CHANGELOG/#0025","title":"0.0.25","text":""},{"location":"CHANGELOG/#features_28","title":"Features","text":""},{"location":"CHANGELOG/#0024","title":"0.0.24","text":""},{"location":"CHANGELOG/#bugfixes_20","title":"BugFixes","text":""},{"location":"CHANGELOG/#0023","title":"0.0.23","text":""},{"location":"CHANGELOG/#features_29","title":"Features","text":""},{"location":"CHANGELOG/#0022","title":"0.0.22","text":""},{"location":"CHANGELOG/#features-bugfixes_1","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0021","title":"0.0.21","text":""},{"location":"CHANGELOG/#features-bugfixes_2","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0020","title":"0.0.20","text":""},{"location":"CHANGELOG/#features-bugfixes_3","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0019","title":"0.0.19","text":""},{"location":"CHANGELOG/#bugfixes_21","title":"BugFixes","text":""},{"location":"CHANGELOG/#0018","title":"0.0.18","text":""},{"location":"CHANGELOG/#features_30","title":"Features","text":""},{"location":"CHANGELOG/#0017","title":"0.0.17","text":""},{"location":"CHANGELOG/#bugfixes_22","title":"BugFixes","text":""},{"location":"CHANGELOG/#0016","title":"0.0.16","text":""},{"location":"CHANGELOG/#features-bugfixes_4","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0015","title":"0.0.15","text":""},{"location":"CHANGELOG/#features_31","title":"Features","text":""},{"location":"CHANGELOG/#0014","title":"0.0.14","text":""},{"location":"CHANGELOG/#features_32","title":"Features","text":""},{"location":"CHANGELOG/#0013","title":"0.0.13","text":""},{"location":"CHANGELOG/#features-bugfixes_5","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0012","title":"0.0.12","text":""},{"location":"CHANGELOG/#features_33","title":"Features","text":""},{"location":"development/","title":"Development","text":""},{"location":"development/#building-the-plugin","title":"Building the plugin","text":"

    You can build and run the plugin either via the command line or through IntelliJ IDEA:

    "},{"location":"development/#shell-on-linux-macos-and-powershell","title":"Shell on Linux, macOS and PowerShell","text":"
    ./gradlew buildPlugin\n
    "},{"location":"development/#command-prompt-on-windows","title":"Command Prompt on Windows","text":"
    gradlew buildPlugin\n
    "},{"location":"development/#jetbrains-ide-on-any-platform","title":"JetBrains IDE on any platform","text":"

    Official documentation

    "},{"location":"development/#running-the-ide-with-the-built-plugin","title":"Running the IDE with the built plugin","text":"
    ./gradlew runIde\n
    "},{"location":"development/#license-for-testsrccomjetbrains","title":"License For testSrc/com/jetbrains","text":"

    These files are copied to testSrc/com/jetbrains from IntelliJ IDEA Community Edition The files are licensed under the Apache License, Version 2.0. http://www.apache.org/licenses/LICENSE-2.0

    "},{"location":"ignore-init-arguments/","title":"Ignore __init__ method arguments","text":"

    Info

    This feature is in version 0.3.4 or later

    You can write __init__ method on a model for adding some logic.

    However, default arguments on __init__ method will be overridden, And you will lose autocompletion for __init__ methods by the plugin.

    ignore-init-method-arguments option resolves this problem. The option ignore arguments on __init__ method.

    The option has to be defined in pyproject.toml

    [tool.pydantic-pycharm-plugin]\nignore-init-method-arguments = true\n

    Info

    This feature is in version 0.4.9 or later

    If a third-party library provides a model that extends BaseModel, it may override the __init__ method, as in __init__(self, **kwargs). If this is the case, the plugin user should set ignore-init-method-arguments = true to ignore the __init__ method argument. But it is difficult to tell if the library is using BaseModel or not.

    The plugin ignore the __init__ method if argument is only **kwargs. the option is provided as ignore-init-method-keyword-arguments. This option is enabled by default, so if you create a model that inherits from BaseModel with a method like __init__(self, **kwargs) defined, ignore this init argument.

    If you want to disable this option, please put the following setting in pyproject.toml.

    [tool.pydantic-pycharm-plugin].\nignore-init-method-keyword-arguments = true\n
    "},{"location":"ignore-init-keyword-arguments/","title":"Ignore __init__ method arguments","text":"

    Info

    This feature is in version 0.4.8 or later

    You can write __init__ method on a model for adding some logic.

    However, default arguments on __init__ method will be overridden, And you will lose autocompletion for __init__ methods by the plugin.

    ignore-init-method-arguments option resolves this problem. The option ignore arguments on __init__ method.

    The option has to be defined in pyproject.toml

    [tool.pydantic-pycharm-plugin]\nignore-init-method-keyword-arguments = false\n
    "},{"location":"install/","title":"Installation","text":"

    The plugin requires PyCharm 2020.2 or later (include other JetBrains IDEs)

    "},{"location":"install/#marketplace","title":"MarketPlace","text":"

    The plugin is in Jetbrains repository (Pydantic Plugin Page)

    You can install the stable version on PyCharm's Marketplace (Preference -> Plugins -> Marketplace) Official Documentation

    "},{"location":"install/#complied-binary","title":"Complied binary","text":"

    The 'Releases' section of this repository contains a compiled version of the plugin: pydantic-pycharm-plugin.zip(latest)

    After downloading this file, you can install the plugin from disk by following the JetBrains instructions here.

    "},{"location":"install/#source","title":"Source","text":"

    Alternatively, you can clone this repository and follow the instructions under the \"Building the plugin\" heading below to build from source. The build process will create the file build/distributions/pydantic-pycharm-plugin.zip. This file can be installed as a PyCharm plugin from disk following the same instructions.

    "},{"location":"mypy-compatible/","title":"Mypy Compatible","text":"

    Info

    This feature is in version 0.1.4 or later

    This plugin is compatible with the pydantic-mypy plugin, which is included in pydantic package.

    If you set supported features in mypy.ini then, the pycharm plugin performs the same inspects.

    "},{"location":"mypy-compatible/#support-features","title":"Support features","text":""},{"location":"mypy-compatible/#init_typed","title":"init_typed","text":"

    If enabled, include the field types as type hints in the generated signature for the init method. This means that you'll get errors if you pass an argument that is not already the right type to init, even if parsing could safely convert the type.

    "},{"location":"mypy-compatible/#warn_untyped_fields","title":"warn_untyped_fields","text":"

    If enabled, raise an error whenever a field is declared on a model without explicitly specifying its type.

    "},{"location":"mypy-compatible/#settings","title":"Settings","text":"

    You can toggle these features in PyCharm's Settings.

    Tips

    If there is mypy.ini in your project, this plugin use values in mypy.ini

    "},{"location":"type-checker-for-pydantic/","title":"Type checker for Pydnatic","text":"

    Warning

    Experimental feature

    Info

    In version 0.1.1, This feature is broken. Please use it in 0.1.2 or later.

    Tips

    **This plugin supports type-checking to pydantic with a built-in type checker. Plus, this type-checker supplies a special feature to Pydnatic. **

    This plugin provides a type-checker for pydantic.

    You can use the type-checker on PyCharm's Settings (Preference -> Editor -> Inspections -> Type checker compatible with Pydantic)

    This type-checker inherits from PyCharm's built-in type checker (aka Type checker).

    Please disable Type checker when you enable Type checker compatible with Pydantic.

    Don't use this type checker with a builtin type checker same time.

    "},{"location":"type-checker-for-pydantic/#parsable-type","title":"Parsable Type","text":"

    Pydantic has lots of support for coercing types. However, PyCharm gives a message saying only Expected type \"x,\" got \"y\" instead: When you set parsable-type on a type, then the message will be changed to Field is of type \"x\", \"y\" may not be parsable to \"x\"

    "},{"location":"type-checker-for-pydantic/#set-parsable-type-in-pyprojecttoml","title":"Set parsable-type in pyproject.toml","text":"

    You should create pyproject.toml in your project root. And, you define parsable-type like a example.

    exapmle: pyproject.toml

    [tool.pydantic-pycharm-plugin.parsable-types]\n\n# str field may parse int and float\nstr = [\"int\", \"float\"]\n\n# datetime.datetime field may parse int\n\"datetime.datetime\" = [ \"int\" ]\n\n# your_module.your_type field may parse str\n\"your_module.your_type\" = [ \"str\" ]\n\n[tool.pydantic-pycharm-plugin]\n# You can set higlith level (default is \"warning\")\n# You can select it from \"warning\",  \"weak_warning\", \"disable\" \nparsable-type-highlight = \"warning\" \n\n## If you set acceptable-type-highlight then, you have to set it at same depth.\nacceptable-type-highlight = \"disable\" \n
    "},{"location":"type-checker-for-pydantic/#acceptable-type","title":"Acceptable Type","text":"

    Info

    This feature is in version 0.1.3 or later.

    Pydantic can always parse a few types to other types. For example, int to str. It always succeeds. You can set it as an acceptable type. The message is Field is of type 'x', 'y' is set as an acceptable type in pyproject.toml. Also,You may want to disable the message.You can do it, by setting \"disable\" on acceptable-type-highlight.

    "},{"location":"type-checker-for-pydantic/#set-acceptable-type-in-pyprojecttoml","title":"Set acceptable-type in pyproject.toml","text":"

    You should create pyproject.toml in your project root. And, you define acceptable-type like a example.

    exapmle: pyproject.toml

    [tool.pydantic-pycharm-plugin.acceptable-types]\n\n# str field accepts to parse int and float\nstr = [\"int\", \"float\"]\n\n# datetime.datetime field may parse int\n\"datetime.datetime\" = [ \"int\" ]\n\n[tool.pydantic-pycharm-plugin]\n# You can set higlith level (default is \"weak_warning\")\n# You can select it from \"warning\",  \"weak_warning\", \"disable\" \nacceptable-type-highlight = \"disable\" \n\n# If you set parsable-type-highlight then, you have to set it at same depth.\nparsable-type-highlight = \"warning\" \n
    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Pydantic PyCharm Plugin","text":"

    A JetBrains PyCharm plugin for pydantic.

    "},{"location":"#interview","title":"Interview","text":"

    I got interviewed about this plugin for JetBrains' PyCharm Blog.

    "},{"location":"#sponsors","title":"Sponsors","text":""},{"location":"#features","title":"Features","text":""},{"location":"#implemented","title":"Implemented","text":""},{"location":"#pydanticbasemodel","title":"pydantic.BaseModel","text":""},{"location":"#pydanticgenericsgenericmodel","title":"pydantic.generics.GenericModel","text":""},{"location":"#pydanticdataclassesdataclass","title":"pydantic.dataclasses.dataclass","text":""},{"location":"#pydanticcreate_model-experimental","title":"pydantic.create_model [experimental]","text":""},{"location":"#sqlmodelsqlmodel","title":"sqlmodel.SQLModel","text":""},{"location":"#supported-pydantic-major-versions","title":"Supported Pydantic major versions","text":""},{"location":"#demo","title":"Demo","text":""},{"location":"#quick-installation","title":"Quick Installation","text":"

    The plugin is in Jetbrains repository (Pydantic Plugin Page)

    You can install the stable version on PyCharm's Marketplace (Preference -> Plugins -> Marketplace) Official Documentation

    The plugin requires PyCharm 2020.2 or later (include other JetBrains IDEs)

    "},{"location":"#contribute","title":"Contribute","text":"

    We are waiting for your contributions to pydantic-pycharm-plugin.

    "},{"location":"#links","title":"Links","text":""},{"location":"#jetbrains-plugin-page","title":"JetBrains Plugin Page","text":"

    Pydantic Plugin Page

    "},{"location":"#motivation","title":"Motivation","text":"

    Auto-completion when instantiating BaseModel objects #650

    "},{"location":"#other-pycharm-plugin-projects","title":"Other PyCharm plugin projects","text":"

    Poetry PyCharm Plugin

    "},{"location":"#this-project-is-currently-in-an-experimental-phase","title":"This project is currently in an experimental phase","text":""},{"location":"CHANGELOG/","title":"Changelog","text":""},{"location":"CHANGELOG/#unreleased","title":"Unreleased","text":""},{"location":"CHANGELOG/#0413-2024-04-15","title":"0.4.13 - 2024-04-15","text":""},{"location":"CHANGELOG/#0412-2024-03-14","title":"0.4.12 - 2024-03-14","text":""},{"location":"CHANGELOG/#0411-2024-01-12","title":"0.4.11 - 2024-01-12","text":""},{"location":"CHANGELOG/#0410-2023-12-07","title":"0.4.10 - 2023-12-07","text":""},{"location":"CHANGELOG/#049-2023-10-12","title":"0.4.9 - 2023-10-12","text":""},{"location":"CHANGELOG/#048-2023-09-14","title":"0.4.8 - 2023-09-14","text":""},{"location":"CHANGELOG/#047-2023-08-07","title":"0.4.7 - 2023-08-07","text":""},{"location":"CHANGELOG/#046-232-2023-07-20","title":"0.4.6-232 - 2023-07-20","text":""},{"location":"CHANGELOG/#045-232-2023-07-17","title":"0.4.5-232 - 2023-07-17","text":""},{"location":"CHANGELOG/#044-232-2023-07-14","title":"0.4.4-232 - 2023-07-14","text":""},{"location":"CHANGELOG/#043-232-2023-06-26","title":"0.4.3-232 - 2023-06-26","text":""},{"location":"CHANGELOG/#043-2023-06-26","title":"0.4.3 - 2023-06-26","text":""},{"location":"CHANGELOG/#042-231-2023-03-22","title":"0.4.2-231 - 2023-03-22","text":""},{"location":"CHANGELOG/#042-2023-03-21","title":"0.4.2 - 2023-03-21","text":""},{"location":"CHANGELOG/#041-231-2023-03-02","title":"0.4.1-231 - 2023-03-02","text":""},{"location":"CHANGELOG/#040-2023-03-02","title":"0.4.0 - 2023-03-02","text":""},{"location":"CHANGELOG/#0317-2022-12-16","title":"0.3.17 - 2022-12-16","text":""},{"location":"CHANGELOG/#0316-2022-12-09","title":"0.3.16 - 2022-12-09","text":""},{"location":"CHANGELOG/#0315","title":"0.3.15","text":""},{"location":"CHANGELOG/#0314","title":"0.3.14","text":""},{"location":"CHANGELOG/#0313","title":"0.3.13","text":""},{"location":"CHANGELOG/#features","title":"Features","text":""},{"location":"CHANGELOG/#0312","title":"0.3.12","text":""},{"location":"CHANGELOG/#features_1","title":"Features","text":""},{"location":"CHANGELOG/#0311","title":"0.3.11","text":""},{"location":"CHANGELOG/#features_2","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes","title":"BugFixes","text":""},{"location":"CHANGELOG/#0310","title":"0.3.10","text":""},{"location":"CHANGELOG/#features_3","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_1","title":"BugFixes","text":""},{"location":"CHANGELOG/#039","title":"0.3.9","text":""},{"location":"CHANGELOG/#features_4","title":"Features","text":""},{"location":"CHANGELOG/#038","title":"0.3.8","text":""},{"location":"CHANGELOG/#features_5","title":"Features","text":""},{"location":"CHANGELOG/#037","title":"0.3.7","text":""},{"location":"CHANGELOG/#bugfixes_2","title":"BugFixes","text":""},{"location":"CHANGELOG/#036","title":"0.3.6","text":""},{"location":"CHANGELOG/#bugfixes_3","title":"BugFixes","text":""},{"location":"CHANGELOG/#035","title":"0.3.5","text":""},{"location":"CHANGELOG/#features_6","title":"Features","text":""},{"location":"CHANGELOG/#034","title":"0.3.4","text":""},{"location":"CHANGELOG/#features_7","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_4","title":"BugFixes","text":""},{"location":"CHANGELOG/#033","title":"0.3.3","text":""},{"location":"CHANGELOG/#bugfixes_5","title":"BugFixes","text":""},{"location":"CHANGELOG/#032","title":"0.3.2","text":""},{"location":"CHANGELOG/#bugfixes_6","title":"BugFixes","text":""},{"location":"CHANGELOG/#031","title":"0.3.1","text":""},{"location":"CHANGELOG/#features_8","title":"Features","text":""},{"location":"CHANGELOG/#030","title":"0.3.0","text":""},{"location":"CHANGELOG/#features_9","title":"Features","text":""},{"location":"CHANGELOG/#021","title":"0.2.1","text":""},{"location":"CHANGELOG/#features_10","title":"Features","text":""},{"location":"CHANGELOG/#020","title":"0.2.0","text":""},{"location":"CHANGELOG/#bugfixes_7","title":"BugFixes","text":""},{"location":"CHANGELOG/#0120","title":"0.1.20","text":""},{"location":"CHANGELOG/#features_11","title":"Features","text":""},{"location":"CHANGELOG/#0119","title":"0.1.19","text":""},{"location":"CHANGELOG/#bugfixes_8","title":"BugFixes","text":""},{"location":"CHANGELOG/#0118","title":"0.1.18","text":""},{"location":"CHANGELOG/#features_12","title":"Features","text":""},{"location":"CHANGELOG/#0117","title":"0.1.17","text":""},{"location":"CHANGELOG/#features_13","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_9","title":"BugFixes","text":""},{"location":"CHANGELOG/#0116","title":"0.1.16","text":""},{"location":"CHANGELOG/#bugfixes_10","title":"BugFixes","text":""},{"location":"CHANGELOG/#0115","title":"0.1.15","text":""},{"location":"CHANGELOG/#bugfixes_11","title":"BugFixes","text":""},{"location":"CHANGELOG/#0114","title":"0.1.14","text":""},{"location":"CHANGELOG/#bugfixes_12","title":"BugFixes","text":""},{"location":"CHANGELOG/#0113","title":"0.1.13","text":""},{"location":"CHANGELOG/#features_14","title":"Features","text":""},{"location":"CHANGELOG/#0112","title":"0.1.12","text":""},{"location":"CHANGELOG/#features_15","title":"Features","text":""},{"location":"CHANGELOG/#0111","title":"0.1.11","text":""},{"location":"CHANGELOG/#features_16","title":"Features","text":""},{"location":"CHANGELOG/#0110","title":"0.1.10","text":""},{"location":"CHANGELOG/#bugfixes_13","title":"BugFixes","text":""},{"location":"CHANGELOG/#019","title":"0.1.9","text":""},{"location":"CHANGELOG/#bugfixes_14","title":"BugFixes","text":""},{"location":"CHANGELOG/#018","title":"0.1.8","text":""},{"location":"CHANGELOG/#features_17","title":"Features","text":""},{"location":"CHANGELOG/#017","title":"0.1.7","text":""},{"location":"CHANGELOG/#features_18","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_15","title":"BugFixes","text":""},{"location":"CHANGELOG/#016","title":"0.1.6","text":""},{"location":"CHANGELOG/#features_19","title":"Features","text":""},{"location":"CHANGELOG/#015","title":"0.1.5","text":""},{"location":"CHANGELOG/#features_20","title":"Features","text":""},{"location":"CHANGELOG/#bugfixes_16","title":"BugFixes","text":""},{"location":"CHANGELOG/#014","title":"0.1.4","text":""},{"location":"CHANGELOG/#bugfixes_17","title":"BugFixes","text":""},{"location":"CHANGELOG/#features_21","title":"Features","text":""},{"location":"CHANGELOG/#013","title":"0.1.3","text":""},{"location":"CHANGELOG/#features_22","title":"Features","text":""},{"location":"CHANGELOG/#012","title":"0.1.2","text":""},{"location":"CHANGELOG/#bugfixes_18","title":"BugFixes","text":""},{"location":"CHANGELOG/#011","title":"0.1.1","text":""},{"location":"CHANGELOG/#features_23","title":"Features","text":""},{"location":"CHANGELOG/#010","title":"0.1.0","text":""},{"location":"CHANGELOG/#features_24","title":"Features","text":""},{"location":"CHANGELOG/#0030","title":"0.0.30","text":""},{"location":"CHANGELOG/#bugfixes_19","title":"BugFixes","text":""},{"location":"CHANGELOG/#0029","title":"0.0.29","text":""},{"location":"CHANGELOG/#features_25","title":"Features","text":""},{"location":"CHANGELOG/#0028","title":"0.0.28","text":""},{"location":"CHANGELOG/#features-bugfixes","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0027","title":"0.0.27","text":""},{"location":"CHANGELOG/#features_26","title":"Features","text":""},{"location":"CHANGELOG/#0026","title":"0.0.26","text":""},{"location":"CHANGELOG/#features_27","title":"Features","text":""},{"location":"CHANGELOG/#0025","title":"0.0.25","text":""},{"location":"CHANGELOG/#features_28","title":"Features","text":""},{"location":"CHANGELOG/#0024","title":"0.0.24","text":""},{"location":"CHANGELOG/#bugfixes_20","title":"BugFixes","text":""},{"location":"CHANGELOG/#0023","title":"0.0.23","text":""},{"location":"CHANGELOG/#features_29","title":"Features","text":""},{"location":"CHANGELOG/#0022","title":"0.0.22","text":""},{"location":"CHANGELOG/#features-bugfixes_1","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0021","title":"0.0.21","text":""},{"location":"CHANGELOG/#features-bugfixes_2","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0020","title":"0.0.20","text":""},{"location":"CHANGELOG/#features-bugfixes_3","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0019","title":"0.0.19","text":""},{"location":"CHANGELOG/#bugfixes_21","title":"BugFixes","text":""},{"location":"CHANGELOG/#0018","title":"0.0.18","text":""},{"location":"CHANGELOG/#features_30","title":"Features","text":""},{"location":"CHANGELOG/#0017","title":"0.0.17","text":""},{"location":"CHANGELOG/#bugfixes_22","title":"BugFixes","text":""},{"location":"CHANGELOG/#0016","title":"0.0.16","text":""},{"location":"CHANGELOG/#features-bugfixes_4","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0015","title":"0.0.15","text":""},{"location":"CHANGELOG/#features_31","title":"Features","text":""},{"location":"CHANGELOG/#0014","title":"0.0.14","text":""},{"location":"CHANGELOG/#features_32","title":"Features","text":""},{"location":"CHANGELOG/#0013","title":"0.0.13","text":""},{"location":"CHANGELOG/#features-bugfixes_5","title":"Features, BugFixes","text":""},{"location":"CHANGELOG/#0012","title":"0.0.12","text":""},{"location":"CHANGELOG/#features_33","title":"Features","text":""},{"location":"development/","title":"Development","text":""},{"location":"development/#building-the-plugin","title":"Building the plugin","text":"

    You can build and run the plugin either via the command line or through IntelliJ IDEA:

    "},{"location":"development/#shell-on-linux-macos-and-powershell","title":"Shell on Linux, macOS and PowerShell","text":"
    ./gradlew buildPlugin\n
    "},{"location":"development/#command-prompt-on-windows","title":"Command Prompt on Windows","text":"
    gradlew buildPlugin\n
    "},{"location":"development/#jetbrains-ide-on-any-platform","title":"JetBrains IDE on any platform","text":"

    Official documentation

    "},{"location":"development/#running-the-ide-with-the-built-plugin","title":"Running the IDE with the built plugin","text":"
    ./gradlew runIde\n
    "},{"location":"development/#license-for-testsrccomjetbrains","title":"License For testSrc/com/jetbrains","text":"

    These files are copied to testSrc/com/jetbrains from IntelliJ IDEA Community Edition The files are licensed under the Apache License, Version 2.0. http://www.apache.org/licenses/LICENSE-2.0

    "},{"location":"ignore-init-arguments/","title":"Ignore __init__ method arguments","text":"

    Info

    This feature is in version 0.3.4 or later

    You can write __init__ method on a model for adding some logic.

    However, default arguments on __init__ method will be overridden, And you will lose autocompletion for __init__ methods by the plugin.

    ignore-init-method-arguments option resolves this problem. The option ignore arguments on __init__ method.

    The option has to be defined in pyproject.toml

    [tool.pydantic-pycharm-plugin]\nignore-init-method-arguments = true\n

    Info

    This feature is in version 0.4.9 or later

    If a third-party library provides a model that extends BaseModel, it may override the __init__ method, as in __init__(self, **kwargs). If this is the case, the plugin user should set ignore-init-method-arguments = true to ignore the __init__ method argument. But it is difficult to tell if the library is using BaseModel or not.

    The plugin ignore the __init__ method if argument is only **kwargs. the option is provided as ignore-init-method-keyword-arguments. This option is enabled by default, so if you create a model that inherits from BaseModel with a method like __init__(self, **kwargs) defined, ignore this init argument.

    If you want to disable this option, please put the following setting in pyproject.toml.

    [tool.pydantic-pycharm-plugin].\nignore-init-method-keyword-arguments = true\n
    "},{"location":"ignore-init-keyword-arguments/","title":"Ignore __init__ method arguments","text":"

    Info

    This feature is in version 0.4.8 or later

    You can write __init__ method on a model for adding some logic.

    However, default arguments on __init__ method will be overridden, And you will lose autocompletion for __init__ methods by the plugin.

    ignore-init-method-arguments option resolves this problem. The option ignore arguments on __init__ method.

    The option has to be defined in pyproject.toml

    [tool.pydantic-pycharm-plugin]\nignore-init-method-keyword-arguments = false\n
    "},{"location":"install/","title":"Installation","text":"

    The plugin requires PyCharm 2020.2 or later (include other JetBrains IDEs)

    "},{"location":"install/#marketplace","title":"MarketPlace","text":"

    The plugin is in Jetbrains repository (Pydantic Plugin Page)

    You can install the stable version on PyCharm's Marketplace (Preference -> Plugins -> Marketplace) Official Documentation

    "},{"location":"install/#complied-binary","title":"Complied binary","text":"

    The 'Releases' section of this repository contains a compiled version of the plugin: pydantic-pycharm-plugin.zip(latest)

    After downloading this file, you can install the plugin from disk by following the JetBrains instructions here.

    "},{"location":"install/#source","title":"Source","text":"

    Alternatively, you can clone this repository and follow the instructions under the \"Building the plugin\" heading below to build from source. The build process will create the file build/distributions/pydantic-pycharm-plugin.zip. This file can be installed as a PyCharm plugin from disk following the same instructions.

    "},{"location":"mypy-compatible/","title":"Mypy Compatible","text":"

    Info

    This feature is in version 0.1.4 or later

    This plugin is compatible with the pydantic-mypy plugin, which is included in pydantic package.

    If you set supported features in mypy.ini then, the pycharm plugin performs the same inspects.

    "},{"location":"mypy-compatible/#support-features","title":"Support features","text":""},{"location":"mypy-compatible/#init_typed","title":"init_typed","text":"

    If enabled, include the field types as type hints in the generated signature for the init method. This means that you'll get errors if you pass an argument that is not already the right type to init, even if parsing could safely convert the type.

    "},{"location":"mypy-compatible/#warn_untyped_fields","title":"warn_untyped_fields","text":"

    If enabled, raise an error whenever a field is declared on a model without explicitly specifying its type.

    "},{"location":"mypy-compatible/#settings","title":"Settings","text":"

    You can toggle these features in PyCharm's Settings.

    Tips

    If there is mypy.ini in your project, this plugin use values in mypy.ini

    "},{"location":"type-checker-for-pydantic/","title":"Type checker for Pydnatic","text":"

    Warning

    Experimental feature

    Info

    In version 0.1.1, This feature is broken. Please use it in 0.1.2 or later.

    Tips

    **This plugin supports type-checking to pydantic with a built-in type checker. Plus, this type-checker supplies a special feature to Pydnatic. **

    This plugin provides a type-checker for pydantic.

    You can use the type-checker on PyCharm's Settings (Preference -> Editor -> Inspections -> Type checker compatible with Pydantic)

    This type-checker inherits from PyCharm's built-in type checker (aka Type checker).

    Please disable Type checker when you enable Type checker compatible with Pydantic.

    Don't use this type checker with a builtin type checker same time.

    "},{"location":"type-checker-for-pydantic/#parsable-type","title":"Parsable Type","text":"

    Pydantic has lots of support for coercing types. However, PyCharm gives a message saying only Expected type \"x,\" got \"y\" instead: When you set parsable-type on a type, then the message will be changed to Field is of type \"x\", \"y\" may not be parsable to \"x\"

    "},{"location":"type-checker-for-pydantic/#set-parsable-type-in-pyprojecttoml","title":"Set parsable-type in pyproject.toml","text":"

    You should create pyproject.toml in your project root. And, you define parsable-type like a example.

    exapmle: pyproject.toml

    [tool.pydantic-pycharm-plugin.parsable-types]\n\n# str field may parse int and float\nstr = [\"int\", \"float\"]\n\n# datetime.datetime field may parse int\n\"datetime.datetime\" = [ \"int\" ]\n\n# your_module.your_type field may parse str\n\"your_module.your_type\" = [ \"str\" ]\n\n[tool.pydantic-pycharm-plugin]\n# You can set higlith level (default is \"warning\")\n# You can select it from \"warning\",  \"weak_warning\", \"disable\" \nparsable-type-highlight = \"warning\" \n\n## If you set acceptable-type-highlight then, you have to set it at same depth.\nacceptable-type-highlight = \"disable\" \n
    "},{"location":"type-checker-for-pydantic/#acceptable-type","title":"Acceptable Type","text":"

    Info

    This feature is in version 0.1.3 or later.

    Pydantic can always parse a few types to other types. For example, int to str. It always succeeds. You can set it as an acceptable type. The message is Field is of type 'x', 'y' is set as an acceptable type in pyproject.toml. Also,You may want to disable the message.You can do it, by setting \"disable\" on acceptable-type-highlight.

    "},{"location":"type-checker-for-pydantic/#set-acceptable-type-in-pyprojecttoml","title":"Set acceptable-type in pyproject.toml","text":"

    You should create pyproject.toml in your project root. And, you define acceptable-type like a example.

    exapmle: pyproject.toml

    [tool.pydantic-pycharm-plugin.acceptable-types]\n\n# str field accepts to parse int and float\nstr = [\"int\", \"float\"]\n\n# datetime.datetime field may parse int\n\"datetime.datetime\" = [ \"int\" ]\n\n[tool.pydantic-pycharm-plugin]\n# You can set higlith level (default is \"weak_warning\")\n# You can select it from \"warning\",  \"weak_warning\", \"disable\" \nacceptable-type-highlight = \"disable\" \n\n# If you set parsable-type-highlight then, you have to set it at same depth.\nparsable-type-highlight = \"warning\" \n
    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 5bb1309c..9e6080ec 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,42 +2,42 @@ https://koxudaxi.github.io/pydantic-pycharm-plugin/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/CHANGELOG/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/development/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/ignore-init-arguments/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/ignore-init-keyword-arguments/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/install/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/mypy-compatible/ - 2024-04-15 + 2024-04-22 daily https://koxudaxi.github.io/pydantic-pycharm-plugin/type-checker-for-pydantic/ - 2024-04-15 + 2024-04-22 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 6b184a4f..82a27d33 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ