poise-python 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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