Skip to content

Commit

Permalink
Fix ImportErrors (Fix #30) (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rodrigo Martins de Oliveira authored Jun 24, 2020
1 parent dde4a11 commit 8e4c9cb
Show file tree
Hide file tree
Showing 59 changed files with 290 additions and 269 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 3.4.2
current_version = 3.4.3

[bumpversion:file:Makefile]
search = CURRENT_VERSION = {current_version}
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
Changelog
=========

3.4.3 (2020-06-24)
------------------

* Fix Injectable failing to resolve complex/entangled imports

3.4.2 (2020-05-22)
------------------

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ docs:
make html -B
cp -a build/html/. docs

CURRENT_VERSION = 3.4.2
CURRENT_VERSION = 3.4.3

.PHONY: bump-patch-version
bump-patch-version:
Expand Down
2 changes: 2 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
Injectable: Dependency Injection for Humans™
============================================

[**Examples**](https://injectable.readthedocs.io/en/latest/usage/index.html) | [**Developer Reference**](https://injectable.readthedocs.io/en/latest/reference/index.html) | [**Authors**](https://injectable.readthedocs.io/en/latest/authors.html)

.. start-badges
.. list-table::
Expand Down
2 changes: 1 addition & 1 deletion docs/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: d46ac49617394230bc8a148ed1d42660
config: 81e33e91f5acc49464cf2bfb9dac9397
tags: 645f666f9bcd5a90fca523b33c5a78b7
6 changes: 3 additions & 3 deletions docs/_modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>Overview: module code &#8212; injectable 3.4.2 documentation</title>
<title>Overview: module code &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../index.html">injectable-3.4.3</a> &#187;</li>
</ul>
</div>

Expand Down Expand Up @@ -106,7 +106,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/autowiring/autowired_decorator.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.autowiring.autowired_decorator &#8212; injectable 3.4.2 documentation</title>
<title>injectable.autowiring.autowired_decorator &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -173,7 +173,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/autowiring/autowired_type.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.autowiring.autowired_type &#8212; injectable 3.4.2 documentation</title>
<title>injectable.autowiring.autowired_type &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -236,7 +236,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/container/injectable.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.container.injectable &#8212; injectable 3.4.2 documentation</title>
<title>injectable.container.injectable &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -143,7 +143,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
25 changes: 8 additions & 17 deletions docs/_modules/injectable/container/injection_container.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.container.injection_container &#8212; injectable 3.4.2 documentation</title>
<title>injectable.container.injection_container &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand All @@ -47,13 +47,12 @@ <h3>Navigation</h3>

<h1>Source code for injectable.container.injection_container</h1><div class="highlight"><pre>
<span></span><span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">warnings</span>
<span class="kn">from</span> <span class="nn">importlib.util</span> <span class="kn">import</span> <span class="n">module_from_spec</span><span class="p">,</span> <span class="n">spec_from_file_location</span>
<span class="kn">from</span> <span class="nn">runpy</span> <span class="kn">import</span> <span class="n">run_path</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">Optional</span><span class="p">,</span> <span class="n">Callable</span>
<span class="kn">from</span> <span class="nn">typing</span> <span class="kn">import</span> <span class="n">Set</span>

<span class="kn">from</span> <span class="nn">pycollect</span> <span class="kn">import</span> <span class="n">PythonFileCollector</span><span class="p">,</span> <span class="n">find_module_name</span>
<span class="kn">from</span> <span class="nn">pycollect</span> <span class="kn">import</span> <span class="n">PythonFileCollector</span>

<span class="kn">from</span> <span class="nn">injectable.container.injectable</span> <span class="kn">import</span> <span class="n">Injectable</span>
<span class="kn">from</span> <span class="nn">injectable.container.namespace</span> <span class="kn">import</span> <span class="n">Namespace</span>
Expand Down Expand Up @@ -190,7 +189,7 @@ <h1>Source code for injectable.container.injection_container</h1><div class="hig
<span class="k">if</span> <span class="n">file</span><span class="o">.</span><span class="n">path</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">LOADED_FILEPATHS</span><span class="p">:</span>
<span class="k">continue</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADING_FILEPATH</span> <span class="o">=</span> <span class="n">file</span><span class="o">.</span><span class="n">path</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">_load_file</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
<span class="n">run_path</span><span class="p">(</span><span class="n">file</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADED_FILEPATHS</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">file</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADING_FILEPATH</span> <span class="o">=</span> <span class="kc">None</span>

Expand All @@ -204,7 +203,7 @@ <h1>Source code for injectable.container.injection_container</h1><div class="hig
<span class="k">if</span> <span class="n">file</span><span class="o">.</span><span class="n">path</span> <span class="ow">in</span> <span class="bp">cls</span><span class="o">.</span><span class="n">LOADED_FILEPATHS</span><span class="p">:</span>
<span class="k">continue</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADING_FILEPATH</span> <span class="o">=</span> <span class="n">file</span><span class="o">.</span><span class="n">path</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">_load_file</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
<span class="n">run_path</span><span class="p">(</span><span class="n">file</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADED_FILEPATHS</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">file</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADING_FILEPATH</span> <span class="o">=</span> <span class="kc">None</span>
<span class="bp">cls</span><span class="o">.</span><span class="n">LOADING_DEFAULT_NAMESPACE</span> <span class="o">=</span> <span class="kc">None</span>
Expand All @@ -227,15 +226,7 @@ <h1>Source code for injectable.container.injection_container</h1><div class="hig
<span class="s2">&quot;@injectable_factory&quot;</span><span class="p">,</span>
<span class="s2">&quot;injectable_factory(&quot;</span><span class="p">,</span>
<span class="p">]</span>
<span class="p">)</span>

<span class="nd">@classmethod</span>
<span class="k">def</span> <span class="nf">_load_file</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">file</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">DirEntry</span><span class="p">):</span>
<span class="n">module_name</span> <span class="o">=</span> <span class="n">find_module_name</span><span class="p">(</span><span class="n">file</span><span class="p">)</span>
<span class="n">spec</span> <span class="o">=</span> <span class="n">spec_from_file_location</span><span class="p">(</span><span class="n">module_name</span><span class="p">,</span> <span class="n">file</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
<span class="n">module</span> <span class="o">=</span> <span class="n">module_from_spec</span><span class="p">(</span><span class="n">spec</span><span class="p">)</span>
<span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="n">module_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">module</span>
<span class="n">spec</span><span class="o">.</span><span class="n">loader</span><span class="o">.</span><span class="n">exec_module</span><span class="p">(</span><span class="n">module</span><span class="p">)</span></div>
<span class="p">)</span></div>
</pre></div>

</div>
Expand Down Expand Up @@ -284,7 +275,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.container.load_injection_container &#8212; injectable 3.4.2 documentation</title>
<title>injectable.container.load_injection_container &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -138,7 +138,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/errors/autowiring_error.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.errors.autowiring_error &#8212; injectable 3.4.2 documentation</title>
<title>injectable.errors.autowiring_error &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -100,7 +100,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/errors/injection_error.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.errors.injection_error &#8212; injectable 3.4.2 documentation</title>
<title>injectable.errors.injection_error &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -100,7 +100,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/injection/inject.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.injection.inject &#8212; injectable 3.4.2 documentation</title>
<title>injectable.injection.inject &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -267,7 +267,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
6 changes: 3 additions & 3 deletions docs/_modules/injectable/injection/injectable_decorator.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>injectable.injection.injectable_decorator &#8212; injectable 3.4.2 documentation</title>
<title>injectable.injection.injectable_decorator &#8212; injectable 3.4.3 documentation</title>
<link rel="stylesheet" href="../../../_static/pydoctheme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />

Expand All @@ -28,7 +28,7 @@
<h3>Navigation</h3>
<ul>
<li class="responsive-menu"><a href="#sidebar-anchor" title="Navigation">&#9776;</a></li>
<li><a href="../../../index.html">injectable-3.4.2</a> &#187;</li>
<li><a href="../../../index.html">injectable-3.4.3</a> &#187;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &#187;</li>
</ul>
</div>
Expand Down Expand Up @@ -153,7 +153,7 @@ <h3>Navigation</h3>

<div class="footer" role="contentinfo">
&#169; Copyright 2018, Rodrigo Martins de Oliveira.
Last updated on May 22, 2020.
Last updated on Jun 24, 2020.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.0.3.
</div>
</body>
Expand Down
Loading

0 comments on commit 8e4c9cb

Please sign in to comment.