poise-python 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 59c887593f03041124e297ead423a1bea2606724
4
- data.tar.gz: 4adb8c74b9d0d9d7384b52fef81b59296deea96a
3
+ metadata.gz: 23cf97832c34abc4295ce1e1f1c9d8cc0eb53077
4
+ data.tar.gz: 48de254c1244bd372046cf863dfd05a4d9878ca6
5
5
  SHA512:
6
- metadata.gz: e537cd49c014a599ea9adb74c5c272875d738de6fba7c9e224850ab121635235d94345db19083f90f46730c016494a320423d9060d0d3e92eed139a12f3dcb0c
7
- data.tar.gz: 450cef04ad1723458c063ad0444022e65f8c03179c5c8956cff4de256e1a74a76d2f3a7b5e90213a7b9b62a9a12caacbc6f539d7e8ce6c940e9b1f3c24372a03
6
+ metadata.gz: f700db85d989995831625f6ad79111e8b6cf01b740984e937cdd05c1ec8c3d3b0ffb213a8947b0b83045aa8413d4c06458be759634beb7f0672324926eb866ec
7
+ data.tar.gz: 37a074375575ee3197d866e9f2ec573b4b24c75490f0c5572b2307812217a773f61912da0ff3549c6d3a3f1278270b22485109cf63eb4b2ee2c3326f7510cba9
@@ -0,0 +1,14 @@
1
+ # Poise-Python Changelog
2
+
3
+ ## v1.1.0
4
+
5
+ * Add a `:dummy` provider for `python_runtime` for unit testing or complex overrides.
6
+ * Support installing development headers for SCL packages.
7
+ * Refactor Portable PyPy provider to use new helpers from `poise-languages`. This
8
+ means `portable_pypy` and `portable_pypy3` are now separate providers but the
9
+ auto-selection logic should still work as before.
10
+
11
+ ## v1.0.0
12
+
13
+ * Initial release!
14
+
data/README.md CHANGED
@@ -337,7 +337,6 @@ end
337
337
 
338
338
  The `portable_pypy` provider installs Python using the [Portable PyPy](https://github.com/squeaky-pl/portable-pypy)
339
339
  packages. These are only available for Linux, but should work on any Linux OS.
340
- Support is included for both `pypy` and `pypy3`.
341
340
 
342
341
  ```ruby
343
342
  python_runtime 'myapp' do
@@ -346,6 +345,18 @@ python_runtime 'myapp' do
346
345
  end
347
346
  ```
348
347
 
348
+ ### `portable_pypy3`
349
+
350
+ The `portable_pypy3` provider installs Python 3 using the [Portable PyPy](https://github.com/squeaky-pl/portable-pypy)
351
+ packages. These are only available for Linux, but should work on any Linux OS.
352
+
353
+ ```ruby
354
+ python_runtime 'myapp' do
355
+ provider :portable_pypy3
356
+ version 'pypy3'
357
+ end
358
+ ```
359
+
349
360
  #### Options
350
361
 
351
362
  * `folder` – Folder to install PyPy in. *(default: /opt/<package name>)*
@@ -14,7 +14,11 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
+ require 'chef/platform/provider_priority_map'
18
+
19
+ require 'poise_python/python_providers/dummy'
17
20
  require 'poise_python/python_providers/portable_pypy'
21
+ require 'poise_python/python_providers/portable_pypy3'
18
22
  require 'poise_python/python_providers/scl'
19
23
  require 'poise_python/python_providers/system'
20
24
 
@@ -27,6 +31,7 @@ module PoisePython
27
31
  autoload :Base, 'poise_python/python_providers/base'
28
32
 
29
33
  Chef::Platform::ProviderPriorityMap.instance.priority(:python_runtime, [
34
+ PoisePython::PythonProviders::PortablePyPy3,
30
35
  PoisePython::PythonProviders::PortablePyPy,
31
36
  PoisePython::PythonProviders::Scl,
32
37
  PoisePython::PythonProviders::System,
@@ -0,0 +1,69 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'poise_python/python_providers/base'
18
+
19
+
20
+ module PoisePython
21
+ module PythonProviders
22
+ # Inversion provider for the `python_runtime` resource to use a fake Python,
23
+ # for use in unit tests.
24
+ #
25
+ # @since 1.1.0
26
+ # @provides dummy
27
+ class Dummy < Base
28
+ provides(:dummy)
29
+
30
+ def self.default_inversion_options(node, resource)
31
+ super.merge({
32
+ # Manual overrides for dummy data.
33
+ python_binary: ::File.join('', 'python'),
34
+ python_environment: nil,
35
+ })
36
+ end
37
+
38
+ # The `install` action for the `python_runtime` resource.
39
+ #
40
+ # @return [void]
41
+ def action_install
42
+ # This space left intentionally blank.
43
+ end
44
+
45
+ # The `uninstall` action for the `python_runtime` resource.
46
+ #
47
+ # @return [void]
48
+ def action_uninstall
49
+ # This space left intentionally blank.
50
+ end
51
+
52
+ # Path to the non-existent python.
53
+ #
54
+ # @return [String]
55
+ def python_binary
56
+ options['python_binary']
57
+ end
58
+
59
+ # Environment for the non-existent python.
60
+ #
61
+ # @return [String]
62
+ def python_environment
63
+ options['python_environment'] || super
64
+ end
65
+
66
+ end
67
+ end
68
+ end
69
+
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- require 'chef/resource'
17
+ require 'poise_languages/static'
18
18
 
19
19
  require 'poise_python/error'
20
20
  require 'poise_python/python_providers/base'
@@ -24,73 +24,29 @@ module PoisePython
24
24
  module PythonProviders
25
25
  class PortablePyPy < Base
26
26
  provides(:portable_pypy)
27
-
28
- PYPY_PACKAGES = {
29
- 'pypy' => %w{2.6 2.5.1 2.5 2.4 2.3.1 2.3 2.2.1 2.2 2.1 2.0.2},
30
- 'pypy3' => %w{2.4 2.3.1},
31
- }
32
-
33
- # Only use this to install pypy.
34
- #
35
- # @api private
36
- def self.provides_auto?(node, resource)
37
- super || (resource.version.start_with?('pypy') && node['kernel']['name'].downcase == 'linux')
38
- end
27
+ include PoiseLanguages::Static(
28
+ name: 'pypy',
29
+ versions: %w{2.6 2.5.1 2.5 2.4 2.3.1 2.3 2.2.1 2.2 2.1 2.0.2},
30
+ machines: %w{linux-i686 linux-x86_64},
31
+ url: 'https://bitbucket.org/squeaky/portable-pypy/downloads/pypy-%{version}-%{kernel}_%{machine}-portable.tar.bz2'
32
+ )
39
33
 
40
34
  def python_binary
41
- ::File.join(pypy_folder, 'bin', 'pypy')
35
+ ::File.join(static_folder, 'bin', 'pypy')
42
36
  end
43
37
 
44
38
  private
45
39
 
46
40
  def install_python
47
- path = ::File.join(Chef::Config[:file_cache_path], "#{pypy_package}.tar.bz2")
48
- folder = pypy_folder
49
- url = pypy_package_url
50
-
51
- package %w{tar bzip2}
52
-
53
- unpack = execute 'unpack pypy' do
54
- action :nothing
55
- command ['tar', 'xjvf', path]
56
- cwd ::File.dirname(folder)
57
- end
58
-
59
- remote_file path do
60
- source url
61
- owner 'root'
62
- group 'root'
63
- mode '644'
64
- notifies :run, unpack, :immediately
65
- end
41
+ install_static
66
42
  end
67
43
 
68
44
  def uninstall_python
69
- directory pypy_folder do
70
- action :delete
71
- recursive true
72
- end
73
- end
74
-
75
- def pypy_package
76
- @pypy_package ||= begin
77
- match = options['version'].match(/^(pypy(?:|3))(?:-(.*))?$/)
78
- package_type = match ? match[1] : 'pypy'
79
- version_prefix = (match && match[2]).to_s
80
- version = PYPY_PACKAGES[package_type].find {|v| v.start_with?(version_prefix) }
81
- "#{package_type}-#{version}-#{node['kernel']['name'].downcase}_#{node['kernel']['machine']}-portable"
82
- end
83
- end
84
-
85
- def pypy_folder
86
- options['folder'] || ::File.join('', 'opt', pypy_package)
87
- end
88
-
89
- def pypy_package_url
90
- options['url'] || "https://bitbucket.org/squeaky/portable-pypy/downloads/#{pypy_package}.tar.bz2"
45
+ uninstall_static
91
46
  end
92
47
 
93
48
  end
94
49
  end
95
50
  end
96
51
 
52
+
@@ -0,0 +1,51 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'poise_languages/static'
18
+
19
+ require 'poise_python/error'
20
+ require 'poise_python/python_providers/base'
21
+
22
+
23
+ module PoisePython
24
+ module PythonProviders
25
+ class PortablePyPy3 < Base
26
+ provides(:portable_pypy3)
27
+ include PoiseLanguages::Static(
28
+ name: 'pypy3',
29
+ versions: %w{2.4 2.3.1},
30
+ machines: %w{linux-i686 linux-x86_64},
31
+ url: 'https://bitbucket.org/squeaky/portable-pypy/downloads/pypy3-%{version}-%{kernel}_%{machine}-portable.tar.bz2'
32
+ )
33
+
34
+ def python_binary
35
+ ::File.join(static_folder, 'bin', 'pypy')
36
+ end
37
+
38
+ private
39
+
40
+ def install_python
41
+ install_static
42
+ end
43
+
44
+ def uninstall_python
45
+ uninstall_static
46
+ end
47
+
48
+ end
49
+ end
50
+ end
51
+
@@ -26,13 +26,13 @@ module PoisePython
26
26
  class Scl < Base
27
27
  include PoiseLanguages::Scl::Mixin
28
28
  provides(:scl)
29
- scl_package('3.4.2', 'rh-python34', {
29
+ scl_package('3.4.2', 'rh-python34', 'rh-python34-python-devel', {
30
30
  ['redhat', 'centos'] => {
31
31
  '~> 7.0' => 'https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm',
32
32
  '~> 6.0' => 'https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm',
33
33
  },
34
34
  })
35
- scl_package('3.3.2', 'python33', {
35
+ scl_package('3.3.2', 'python33', 'python33-python-devel', {
36
36
  ['redhat', 'centos'] => {
37
37
  '~> 7.0' => 'https://www.softwarecollections.org/en/scls/rhscl/python33/epel-7-x86_64/download/rhscl-python33-epel-7-x86_64.noarch.rpm',
38
38
  '~> 6.0' => 'https://www.softwarecollections.org/en/scls/rhscl/python33/epel-6-x86_64/download/rhscl-python33-epel-6-x86_64.noarch.rpm',
@@ -42,7 +42,7 @@ module PoisePython
42
42
  '~> 20.0' => 'https://www.softwarecollections.org/en/scls/rhscl/python33/fedora-20-x86_64/download/rhscl-python33-fedora-20-x86_64.noarch.rpm',
43
43
  },
44
44
  })
45
- scl_package('2.7.8', 'python27', {
45
+ scl_package('2.7.8', 'python27', 'python27-python-devel', {
46
46
  ['redhat', 'centos'] => {
47
47
  '~> 7.0' => 'https://www.softwarecollections.org/en/scls/rhscl/python27/epel-7-x86_64/download/rhscl-python27-epel-7-x86_64.noarch.rpm',
48
48
  '~> 6.0' => 'https://www.softwarecollections.org/en/scls/rhscl/python27/epel-6-x86_64/download/rhscl-python27-epel-6-x86_64.noarch.rpm',
@@ -26,7 +26,8 @@ module PoisePython
26
26
  # (see PipRequirements::Resource)
27
27
  # @since 1.0.0
28
28
  module PipRequirements
29
- # A `pip_requirements` resource to manage Python virtual environments.
29
+ # A `pip_requirements` resource to install packages from a requirements.txt
30
+ # file using pip.
30
31
  #
31
32
  # @provides pip_requirements
32
33
  # @action install
@@ -84,6 +84,10 @@ EOH
84
84
  class Resource < Chef::Resource::Package
85
85
  include PoisePython::PythonCommandMixin
86
86
  provides(:python_package)
87
+ # Manually create matchers because #actions is unreliable.
88
+ %i{install upgrade remove}.each do |action|
89
+ Poise::Helpers::ChefspecMatchers.create_matcher(:python_package, action)
90
+ end
87
91
 
88
92
 
89
93
  # @!attribute group
@@ -16,5 +16,5 @@
16
16
 
17
17
 
18
18
  module PoisePython
19
- VERSION = '1.0.0'
19
+ VERSION = '1.1.0'
20
20
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.email = %w{noah@coderanger.net}
26
26
  spec.description = "A Chef cookbook for managing Python installations."
27
27
  spec.summary = spec.description
28
- spec.homepage = 'https://github.com/poise/python'
28
+ spec.homepage = 'https://github.com/poise/poise-python'
29
29
  spec.license = 'Apache 2.0'
30
30
 
31
31
  spec.files = `git ls-files`.split($/)
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
 
36
36
  spec.add_dependency 'halite', '~> 1.0'
37
37
  spec.add_dependency 'poise', '~> 2.0'
38
- spec.add_dependency 'poise-languages', '~> 1.0.dev'
38
+ spec.add_dependency 'poise-languages', '~> 1.2'
39
39
 
40
40
  spec.add_development_dependency 'poise-boiler', '~> 1.0'
41
41
  end
@@ -0,0 +1,56 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'spec_helper'
18
+
19
+ describe PoisePython::PythonProviders::Dummy do
20
+ let(:python_runtime) { chef_run.python_runtime('test') }
21
+ step_into(:python_runtime)
22
+ recipe do
23
+ python_runtime 'test' do
24
+ provider :dummy
25
+ end
26
+ end
27
+
28
+ describe '#python_binary' do
29
+ subject { python_runtime.python_binary }
30
+
31
+ it { is_expected.to eq '/python' }
32
+ end # /describe #python_binary
33
+
34
+ describe '#python_environment' do
35
+ subject { python_runtime.python_environment }
36
+
37
+ it { is_expected.to eq({}) }
38
+ end # /describe #python_environment
39
+
40
+ describe 'action :install' do
41
+ # Just make sure it doesn't error.
42
+ it { run_chef }
43
+ end # /describe action :install
44
+
45
+ describe 'action :uninstall' do
46
+ recipe do
47
+ python_runtime 'test' do
48
+ action :uninstall
49
+ provider :dummy
50
+ end
51
+ end
52
+
53
+ # Just make sure it doesn't error.
54
+ it { run_chef }
55
+ end # /describe action :uninstall
56
+ end
@@ -0,0 +1,58 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'spec_helper'
18
+
19
+ describe PoisePython::PythonProviders::PortablePyPy3 do
20
+ let(:python_version) { nil }
21
+ let(:chefspec_options) { {platform: 'ubuntu', version: '14.04'} }
22
+ let(:default_attributes) { {poise_python_version: python_version} }
23
+ let(:python_runtime) { chef_run.python_runtime('test') }
24
+ step_into(:python_runtime)
25
+ recipe do
26
+ python_runtime 'test' do
27
+ version node['poise_python_version']
28
+ virtualenv_version false
29
+ end
30
+ end
31
+
32
+ shared_examples_for 'portablepypy3 provider' do |base|
33
+ it { expect(python_runtime.provider_for_action(:install)).to be_a described_class }
34
+ it { is_expected.to install_poise_languages_static(File.join('', 'opt', base)).with(source: "https://bitbucket.org/squeaky/portable-pypy/downloads/#{base}-linux_x86_64-portable.tar.bz2") }
35
+ it { expect(python_runtime.python_binary).to eq File.join('', 'opt', base, 'bin', 'pypy') }
36
+ end
37
+
38
+ context 'with version pypy3' do
39
+ let(:python_version) { 'pypy3' }
40
+ it_behaves_like 'portablepypy3 provider', 'pypy3-2.4'
41
+ end # /context with version pypy3
42
+
43
+ context 'with version pypy3-2.3.1' do
44
+ let(:python_version) { 'pypy3-2.3.1' }
45
+ it_behaves_like 'portablepypy3 provider', 'pypy3-2.3.1'
46
+ end # /context with version pypy3-2.3.1
47
+
48
+ context 'action :uninstall' do
49
+ recipe do
50
+ python_runtime 'test' do
51
+ version 'pypy3'
52
+ action :uninstall
53
+ end
54
+ end
55
+
56
+ it { is_expected.to uninstall_poise_languages_static('/opt/pypy3-2.4') }
57
+ end # /context action :uninstall
58
+ end
@@ -29,32 +29,22 @@ describe PoisePython::PythonProviders::PortablePyPy do
29
29
  end
30
30
  end
31
31
 
32
- shared_examples_for 'portablepypy provider' do |name|
32
+ shared_examples_for 'portablepypy provider' do |base|
33
33
  it { expect(python_runtime.provider_for_action(:install)).to be_a described_class }
34
- it { is_expected.to create_remote_file(File.join(Chef::Config[:file_cache_path], "#{name}.tar.bz2")).with(source: "https://bitbucket.org/squeaky/portable-pypy/downloads/#{name}.tar.bz2") }
35
- it { expect(python_runtime.python_binary).to eq "/opt/#{name}/bin/pypy"}
34
+ it { is_expected.to install_poise_languages_static(File.join('', 'opt', base)).with(source: "https://bitbucket.org/squeaky/portable-pypy/downloads/#{base}-linux_x86_64-portable.tar.bz2") }
35
+ it { expect(python_runtime.python_binary).to eq File.join('', 'opt', base, 'bin', 'pypy') }
36
36
  end
37
37
 
38
38
  context 'with version pypy' do
39
39
  let(:python_version) { 'pypy' }
40
- it_behaves_like 'portablepypy provider', 'pypy-2.6-linux_x86_64-portable'
40
+ it_behaves_like 'portablepypy provider', 'pypy-2.6'
41
41
  end # /context with version pypy
42
42
 
43
43
  context 'with version pypy-2.4' do
44
44
  let(:python_version) { 'pypy-2.4' }
45
- it_behaves_like 'portablepypy provider', 'pypy-2.4-linux_x86_64-portable'
45
+ it_behaves_like 'portablepypy provider', 'pypy-2.4'
46
46
  end # /context with version pypy-2.4
47
47
 
48
- context 'with version pypy3' do
49
- let(:python_version) { 'pypy3' }
50
- it_behaves_like 'portablepypy provider', 'pypy3-2.4-linux_x86_64-portable'
51
- end # /context with version pypy3
52
-
53
- context 'with version pypy3-2.3.1' do
54
- let(:python_version) { 'pypy3-2.3.1' }
55
- it_behaves_like 'portablepypy provider', 'pypy3-2.3.1-linux_x86_64-portable'
56
- end # /context with version pypy3-2.3.1
57
-
58
48
  context 'action :uninstall' do
59
49
  recipe do
60
50
  python_runtime 'test' do
@@ -63,6 +53,6 @@ describe PoisePython::PythonProviders::PortablePyPy do
63
53
  end
64
54
  end
65
55
 
66
- it { is_expected.to delete_directory('/opt/pypy-2.6-linux_x86_64-portable').with(recursive: true) }
56
+ it { is_expected.to uninstall_poise_languages_static('/opt/pypy-2.6') }
67
57
  end # /context action :uninstall
68
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poise-python
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noah Kantrowitz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-24 00:00:00.000000000 Z
11
+ date: 2015-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: halite
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.dev
47
+ version: '1.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.dev
54
+ version: '1.2'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: poise-boiler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -79,6 +79,7 @@ files:
79
79
  - ".travis.yml"
80
80
  - ".yardopts"
81
81
  - Berksfile
82
+ - CHANGELOG.md
82
83
  - Gemfile
83
84
  - LICENSE
84
85
  - README.md
@@ -91,7 +92,9 @@ files:
91
92
  - lib/poise_python/python_command_mixin.rb
92
93
  - lib/poise_python/python_providers.rb
93
94
  - lib/poise_python/python_providers/base.rb
95
+ - lib/poise_python/python_providers/dummy.rb
94
96
  - lib/poise_python/python_providers/portable_pypy.rb
97
+ - lib/poise_python/python_providers/portable_pypy3.rb
95
98
  - lib/poise_python/python_providers/scl.rb
96
99
  - lib/poise_python/python_providers/system.rb
97
100
  - lib/poise_python/resources.rb
@@ -114,6 +117,8 @@ files:
114
117
  - test/gemfiles/master.gemfile
115
118
  - test/integration/default/serverspec/default_spec.rb
116
119
  - test/spec/python_command_mixin_spec.rb
120
+ - test/spec/python_providers/dummy_spec.rb
121
+ - test/spec/python_providers/portable_pypy3_spec.rb
117
122
  - test/spec/python_providers/portable_pypy_spec.rb
118
123
  - test/spec/python_providers/scl_spec.rb
119
124
  - test/spec/python_providers/system_spec.rb
@@ -124,7 +129,7 @@ files:
124
129
  - test/spec/spec_helper.rb
125
130
  - test/spec/utils/python_encoder_spec.rb
126
131
  - test/spec/utils_spec.rb
127
- homepage: https://github.com/poise/python
132
+ homepage: https://github.com/poise/poise-python
128
133
  licenses:
129
134
  - Apache 2.0
130
135
  metadata: {}
@@ -157,6 +162,8 @@ test_files:
157
162
  - test/gemfiles/master.gemfile
158
163
  - test/integration/default/serverspec/default_spec.rb
159
164
  - test/spec/python_command_mixin_spec.rb
165
+ - test/spec/python_providers/dummy_spec.rb
166
+ - test/spec/python_providers/portable_pypy3_spec.rb
160
167
  - test/spec/python_providers/portable_pypy_spec.rb
161
168
  - test/spec/python_providers/scl_spec.rb
162
169
  - test/spec/python_providers/system_spec.rb