summaryrefslogtreecommitdiff
path: root/astroid/manager.py
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright noticehippo912021-02-151-0/+1
|
* New copyright noticeshippo912020-12-271-1/+2
|
* Drop tracebacks on Astroid import errors for cachesRaphael Gaschignard2020-10-281-2/+4
| | | | | | | | | | | Before this change, when there were import failures by Astroid, it would store the error in the module cache (for example a "module not found" error), including tracebacks. These tracebacks would take up a lot of memory, and don't seem to be used for any sort of purpose beyond debugging value. On one project stripping this value entirely reduces memory usage by 75%.
* Add missing copyright annotations for the past releasesClaudiu Popa2020-04-271-1/+4
|
* Add a new ast_from_string method to AstroidManagerAnubhav2020-03-111-0/+7
| | | Close #725
* Return a stub module instead of an import error for frozen modulesAshley Whetter2020-01-111-0/+2
|
* Avoid a call to `getcwd` if it is not neededRaphael Gaschignard2019-11-261-2/+3
| | | When profiling locally, approximately 7% of a full pylint run is spent in `os.getcwd`, despite its value effectively not being used if `context_file` is `None`. A quick grep over this project and others seem to indicate that `context_file` is rarely used, so this should almost entirely get rid of this system call.
* Fix lint warningsClaudiu Popa2019-10-111-0/+7
|
* Clean new pylint errors from the codebaseClaudiu Popa2019-09-241-2/+2
|
* Allow importing wheel files. Close #541Claudiu Popa2019-07-111-1/+4
|
* Make the astroid bootstrapping take care of builtins such as GeneratorClaudiu Popa2019-01-201-8/+12
| | | | | | | | | | | | | | Currently the astroid bootstrapping function, which builds the builtins module and relevant builtin objects, does not rebuild objects such as generators. This is causing a problem when the cache is cleared, e.g. from pylint's side, given that objects such as generator will not be present any longer in the builtins module created *after* the cache was cleared with MANAGER.cache_clear(). This behaviour was making that function useless from this point of view. The new change instead makes sure to build everything in the same function. Close #446
* Add a method to the manager to retrieve the builtins moduleClaudiu Popa2019-01-191-0/+4
|
* Initial formatting of astroidClaudiu Popa2018-10-021-45/+80
|
* Update the copyright noticesastroid-2.0Claudiu Popa2018-07-151-2/+8
|
* Don't allow max_inferable to be set by an environment variable.Claudiu Popa2018-07-061-2/+1
| | | | | | | | This would introduce a new method of configuring astroid & pylint, while the usual approach we used so far was to set a flag in the MANAGER itself it we'd need to customize some behaviour (extension_package_whitelist and friends). Also renamed the flag to `max_inferable_values` to be more suggestive on what it does.
* Limit inference to a maximum of 100 results at a time to preventBryce Guinta2018-07-061-0/+2
| | | | | | | | | | spot performance issues. Add new envrionment variable call ASTROID_MAX_INFERABLE to tune the max inferable amount of values at a time. Close #579 Close PyCQA/pylint#2251
* Fix useless-object-inheritance lint error (#573)Nick Drozd2018-06-281-1/+1
| | | See https://github.com/PyCQA/pylint/pull/2209
* Fix lintingClaudiu Popa2018-06-141-1/+1
|
* remove unused importClaudiu Popa2018-05-311-1/+0
|
* Fix lint errorsClaudiu Popa2018-05-311-6/+3
|
* Just reraise the same value, no need for raise fromClaudiu Popa2018-05-311-1/+1
|
* Remove reraise() in favour of using raise..fromClaudiu Popa2018-05-311-18/+17
|
* Remove six from a couple of filesClaudiu Popa2018-05-311-4/+1
|
* Fix lint errorsBryce Guinta2018-01-281-7/+0
| | | | Removes an abundance of useless-supression errors
* Variable name is found_spec, not spec (#422)Iva Miholic2017-04-211-1/+1
|
* Fix lintastroid-1.5.2Claudiu Popa2017-04-171-1/+0
|
* Remove pylint errorsDerek Gustafson2016-12-031-0/+8
|
* Move the spec finder under a new namespace, interpreter._import.Claudiu Popa2016-08-241-12/+20
|
* Even more granular copyrights (thanks to copyrite)Claudiu Popa2016-07-221-2/+5
|
* Keep a consistent copyright notice across the board.Claudiu Popa2016-07-191-0/+2
|
* Convert all files to new license headerCeridwen2016-05-161-17/+3
|
* Build a dummy module object for namespace directories and add a test for ↵Claudiu Popa2016-05-091-0/+6
| | | | multiple directories contributing to the same namespace.
* Switch to a spec finder protocol for finding files or packagesClaudiu Popa2016-05-081-10/+10
|
* AstroidBuildingException is now AstroidBuildingError.Claudiu Popa2015-12-061-9/+9
| | | | The first name will exist until astroid 2.0.
* Add two new exceptions, AstroidImportError and AstroidSyntaxError.Claudiu Popa2015-12-061-6/+6
| | | | | | | | They are subclasses of AstroidBuildingException and are raised when a module can't be imported from various reasons. Also do_import_module lets the errors to bubble up without converting them to InferenceError. This particular conversion happens only during the inference.
* Merge upstream changesCeridwen2015-11-061-1/+1
|\
| * Rename Uninferable and instantiate_class, fix broken tests, improveCeridwen2015-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | testing. * Rename YES to Uninferable * Rename instanciate_class to instantiate_class. * Use six in test_namedtuple_advanced_inference. * Fix test_file_from_module failure on PyPy. * Add enum34 to unittest_brain. * Add unittest_brain dependencies tox.ini.
* | Rename Uninferable and instatiate_classCeridwen2015-11-061-1/+1
| |
* | This bookmark adds structured exceptions to astroid.Ceridwen2015-11-021-21/+28
|/ | | | | | | | | | | | | | | | | | | Major changes: * AstroidError has an __init__ that accepts arbitrary keyword-only arguments for adding information to exceptions, and a __str__ that lazily uses exception attributes to generate a message. The first positional argument to an exception is assigned to .message. The new API should be fully backwards compatible in general. * Some exceptions are combined or renamed; the old names are still available. * The OperationErrors used by pylint are now BadOperationMessages and located in util.py. * The AstroidBuildingException in _data_build stores the SyntaxError in its .error attribute rather than args[0]. * Many places where exceptions are raised have new, hopefully more useful error messages. The only major issue remaining is how to propagate information into decorators.
* Remove doctype and future imports which aren't useful.Claudiu Popa2015-10-111-1/+0
|
* Fix pylint errors.Claudiu Popa2015-09-261-3/+3
|
* Add helper function for reraising exceptionsCeridwen2015-09-211-18/+7
|
* Use six.reraise to avoid losing tracebacks for simple casesCeridwen2015-09-211-7/+26
|
* Add deprecation warnings testsCeridwen2015-08-221-1/+0
|
* Merge main into defaultCeridwen2015-08-141-64/+36
|\
| * Big cleanup across the entire projectClaudiu Popa2015-08-121-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cleanup consisted in a couple of changes: * import only modules, not objects, in order to not clutter the module namespace and to not leak accidentally objects which aren't public API for the said modules. * use two spaces between module level functions * move some mixins from astroid.node_classes in the proper order, starting at the left, not being last in the MRO.
| * Fix pylint warnings.Claudiu Popa2015-08-021-2/+0
| |
| * There's a new separate step for transforms.Claudiu Popa2015-08-021-39/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the transforms were applied at the same time the tree was being built. This was problematic if the transform functions were using inference, since the inference was executed on a partially constructed tree, which led to failures when post-building information was needed (such as setting the _from_names for the From imports). Now there's a separate step for transforms, which are applied using transform.TransformVisitor. There's a couple of other related changes: * astroid.parse and AstroidBuilder gained a new parameter `apply_transforms`, which is a boolean flag, which will control if the transforms are applied. We do this because there are uses when the vanilla tree is wanted, without any implicit modification. * the transforms are also applied for builtin modules, as a side effect of the fact that transform visiting was moved in AstroidBuilder._post_build from AstroidBuilder._data_build. Closes issue #116.
| * Remove the useless __docformat__ variable.Claudiu Popa2015-07-231-2/+0
| |
* | Merged changes from logilab/astroidCeridwen2015-07-101-99/+5
|\ \ | |/