Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

31,650,703

Downloads of v 3.1.4.20200110:

381

Last Update:

10 Jan 2020

Package Maintainer(s):

Software Author(s):

  • Python Software Foundation

Tags:

python programming development foss cross-platform admin

Python 3.x

This is not the latest version of Python 3.x available.

  • 1
  • 2
  • 3

3.1.4.20200110 | Updated: 10 Jan 2020

Downloads:

31,650,703

Downloads of v 3.1.4.20200110:

381

Maintainer(s):

Software Author(s):

  • Python Software Foundation

Python 3.x 3.1.4.20200110

This is not the latest version of Python 3.x available.

Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Python Software Foundation. The inclusion of Python Software Foundation trademark(s), if any, upon this webpage is solely to identify Python Software Foundation goods or services and not for commercial purposes.

  • 1
  • 2
  • 3

Some Checks Are Exempted or Have Failed

Not All Tests Have Passed


Validation Testing Passed


Verification Testing Exemption:

Needs to install some Windows updates if they are missing, however it doesn't know how to do that. The exit code is 23, which is a CRC error, so it is technically probably not even correct - https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

Details

Scan Testing Resulted in Flagged:

This package was submitted (and approved) prior to automated virus scanning integration into the package moderation processs.

We recommend clicking the "Details" link to make your own decision on installing this package.

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Python 3.x, run the following command from the command line or from PowerShell:

>

To upgrade Python 3.x, run the following command from the command line or from PowerShell:

>

To uninstall Python 3.x, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade python3 -y --source="'INTERNAL REPO URL'" --version="'3.1.4.20200110'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade python3 -y --source="'INTERNAL REPO URL'" --version="'3.1.4.20200110'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install python3
  win_chocolatey:
    name: python3
    version: '3.1.4.20200110'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'python3' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '3.1.4.20200110'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller python3
{
    Name     = "python3"
    Version  = "3.1.4.20200110"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'python3':
  ensure   => '3.1.4.20200110',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

Package Approved

This package was approved as a trusted package on 10 Jan 2020.

Description

Python 3.x is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python 3.x and see almost immediate gains in productivity and lower maintenance costs.

Package Parameters

  • /InstallDir - Installation directory. NOTE: If you have pre-existing python3 installation, this parameter is ignored and existing python install location will be used

Example: choco install python3 --params "/InstallDir:C:\your\install\path"

Notes

  • Python package manager pip is installed by default, but you can also invoke it using command py -m pip which will use pip3 and adequate version of python if you also have python2 installed and/or pip2 on the PATH. For more details see Python on Windows FAQ.
  • For complete list of silent install options see the Installing Without UI page.

legal\LICENSE.txt
A. HISTORY OF THE SOFTWARE
==========================

Python was created in the early 1990s by Guido van Rossum at Stichting
Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands
as a successor of a language called ABC.  Guido remains Python's
principal author, although it includes many contributions from others.

In 1995, Guido continued his work on Python at the Corporation for
National Research Initiatives (CNRI, see http://www.cnri.reston.va.us)
in Reston, Virginia where he released several versions of the
software.

In May 2000, Guido and the Python core development team moved to
BeOpen.com to form the BeOpen PythonLabs team.  In October of the same
year, the PythonLabs team moved to Digital Creations (now Zope
Corporation, see http://www.zope.com).  In 2001, the Python Software
Foundation (PSF, see http://www.python.org/psf/) was formed, a
non-profit organization created specifically to own Python-related
Intellectual Property.  Zope Corporation is a sponsoring member of
the PSF.

All Python releases are Open Source (see http://www.opensource.org for
the Open Source Definition).  Historically, most, but not all, Python
releases have also been GPL-compatible; the table below summarizes
the various releases.

    Release         Derived     Year        Owner       GPL-
                    from                                compatible? (1)

    0.9.0 thru 1.2              1991-1995   CWI         yes
    1.3 thru 1.5.2  1.2         1995-1999   CNRI        yes
    1.6             1.5.2       2000        CNRI        no
    2.0             1.6         2000        BeOpen.com  no
    1.6.1           1.6         2001        CNRI        yes (2)
    2.1             2.0+1.6.1   2001        PSF         no
    2.0.1           2.0+1.6.1   2001        PSF         yes
    2.1.1           2.1+2.0.1   2001        PSF         yes
    2.2             2.1.1       2001        PSF         yes
    2.1.2           2.1.1       2002        PSF         yes
    2.1.3           2.1.2       2002        PSF         yes
    2.2.1           2.2         2002        PSF         yes
    2.2.2           2.2.1       2002        PSF         yes
    2.2.3           2.2.2       2003        PSF         yes
    2.3             2.2.2       2002-2003   PSF         yes
    2.3.1           2.3         2002-2003   PSF         yes
    2.3.2           2.3.1       2002-2003   PSF         yes
    2.3.3           2.3.2       2002-2003   PSF         yes
    2.3.4           2.3.3       2004        PSF         yes
    2.3.5           2.3.4       2005        PSF         yes
    2.4             2.3         2004        PSF         yes
    2.4.1           2.4         2005        PSF         yes
    2.4.2           2.4.1       2005        PSF         yes
    2.4.3           2.4.2       2006        PSF         yes
    2.4.4           2.4.3       2006        PSF         yes
    2.5             2.4         2006        PSF         yes
    2.5.1           2.5         2007        PSF         yes
    2.5.2           2.5.1       2008        PSF         yes
    2.5.3           2.5.2       2008        PSF         yes
    2.6             2.5         2008        PSF         yes
    2.6.1           2.6         2008        PSF         yes
    2.6.2           2.6.1       2009        PSF         yes
    2.6.3           2.6.2       2009        PSF         yes
    2.6.4           2.6.3       2009        PSF         yes
    2.6.5           2.6.4       2010        PSF         yes
    3.0             2.6         2008        PSF         yes
    3.0.1           3.0         2009        PSF         yes
    3.1             3.0.1       2009        PSF         yes
    3.1.1           3.1         2009        PSF         yes
    3.1.2           3.1.1       2010        PSF         yes
    3.1.3           3.1.2       2010        PSF         yes
    3.1.4           3.1.3       2011        PSF         yes
    3.1.5           3.1.4       2012        PSF         yes
    3.2             3.1         2011        PSF         yes
    3.2.1           3.2         2011        PSF         yes
    3.2.2           3.2.1       2011        PSF         yes
    3.2.3           3.2.2       2012        PSF         yes
    3.3.0           3.2         2012        PSF         yes
    3.3.1           3.3.0       2013        PSF         yes
    3.3.2           3.3.1       2013        PSF         yes
    3.4.0           3.3         2013        PSF         yes

Footnotes:

(1) GPL-compatible doesn't mean that we're distributing Python under
    the GPL.  All Python licenses, unlike the GPL, let you distribute
    a modified version without making your changes open source.  The
    GPL-compatible licenses make it possible to combine Python with
    other software that is released under the GPL; the others don't.

(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
    because its license has a choice of law clause.  According to
    CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
    is "not incompatible" with the GPL.

Thanks to the many outside volunteers who have worked under Guido's
direction to make these releases possible.


B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON
===============================================================

PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------

1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.

2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python alone or in any derivative version,
provided, however, that PSF's License Agreement and PSF's notice of copyright,
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012 Python Software Foundation; All Rights Reserved" are retained in
Python alone or in any derivative version prepared by Licensee.

3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.

4. PSF is making Python available to Licensee on an "AS IS"
basis.  PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.

5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.

7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee.  This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.

8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.


BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
-------------------------------------------

BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1

1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
Individual or Organization ("Licensee") accessing and otherwise using
this software in source or binary form and its associated
documentation ("the Software").

2. Subject to the terms and conditions of this BeOpen Python License
Agreement, BeOpen hereby grants Licensee a non-exclusive,
royalty-free, world-wide license to reproduce, analyze, test, perform
and/or display publicly, prepare derivative works, distribute, and
otherwise use the Software alone or in any derivative version,
provided, however, that the BeOpen Python License is retained in the
Software, alone or in any derivative version prepared by Licensee.

3. BeOpen is making the Software available to Licensee on an "AS IS"
basis.  BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.

4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

5. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.

6. This License Agreement shall be governed by and interpreted in all
respects by the law of the State of California, excluding conflict of
law provisions.  Nothing in this License Agreement shall be deemed to
create any relationship of agency, partnership, or joint venture
between BeOpen and Licensee.  This License Agreement does not grant
permission to use BeOpen trademarks or trade names in a trademark
sense to endorse or promote products or services of Licensee, or any
third party.  As an exception, the "BeOpen Python" logos available at
http://www.pythonlabs.com/logos.html may be used according to the
permissions granted on that web page.

7. By copying, installing or otherwise using the software, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.


CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
---------------------------------------

1. This LICENSE AGREEMENT is between the Corporation for National
Research Initiatives, having an office at 1895 Preston White Drive,
Reston, VA 20191 ("CNRI"), and the Individual or Organization
("Licensee") accessing and otherwise using Python 1.6.1 software in
source or binary form and its associated documentation.

2. Subject to the terms and conditions of this License Agreement, CNRI
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python 1.6.1
alone or in any derivative version, provided, however, that CNRI's
License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
1995-2001 Corporation for National Research Initiatives; All Rights
Reserved" are retained in Python 1.6.1 alone or in any derivative
version prepared by Licensee.  Alternately, in lieu of CNRI's License
Agreement, Licensee may substitute the following text (omitting the
quotes): "Python 1.6.1 is made available subject to the terms and
conditions in CNRI's License Agreement.  This Agreement together with
Python 1.6.1 may be located on the Internet using the following
unique, persistent identifier (known as a handle): 1895.22/1013.  This
Agreement may also be obtained from a proxy server on the Internet
using the following URL: http://hdl.handle.net/1895.22/1013".

3. In the event Licensee prepares a derivative work that is based on
or incorporates Python 1.6.1 or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python 1.6.1.

4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
basis.  CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.

5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.

7. This License Agreement shall be governed by the federal
intellectual property law of the United States, including without
limitation the federal copyright law, and, to the extent such
U.S. federal law does not apply, by the law of the Commonwealth of
Virginia, excluding Virginia's conflict of law provisions.
Notwithstanding the foregoing, with regard to derivative works based
on Python 1.6.1 that incorporate non-separable material that was
previously distributed under the GNU General Public License (GPL), the
law of the Commonwealth of Virginia shall govern this License
Agreement only as to issues arising under or with respect to
Paragraphs 4, 5, and 7 of this License Agreement.  Nothing in this
License Agreement shall be deemed to create any relationship of
agency, partnership, or joint venture between CNRI and Licensee.  This
License Agreement does not grant permission to use CNRI trademarks or
trade name in a trademark sense to endorse or promote products or
services of Licensee, or any third party.

8. By clicking on the "ACCEPT" button where indicated, or by copying,
installing or otherwise using Python 1.6.1, Licensee agrees to be
bound by the terms and conditions of this License Agreement.

        ACCEPT


CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
--------------------------------------------------

Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
The Netherlands.  All rights reserved.

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.

STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
legal\VERIFICATION.txt
VERIFICATION

Verification is intended to assist the Chocolatey moderators and community
in verifying that this package's contents are trustworthy.

Package can be verified like this:

1. Go to

   x32: https://www.python.org/ftp/python/3.1.4/python-3.1.4.msi
   x64: https://www.python.org/ftp/python/3.1.4/python-3.1.4.amd64.msi

   to download the installer.

2. You can use one of the following methods to obtain the SHA256 checksum:
   - Use powershell function 'Get-FileHash'
   - Use Chocolatey utility 'checksum.exe'

   checksum32: 72132B8641326BE501BCB511EEB4DB88858665DEC9A10EEDDF4EA733B8C97C4C
   checksum64: 8399353E8F1A0D83B0B04553CFD47DA02B7DC7A90D24B8ABF63BD06DAD572BC8

File 'license.txt' is obtained from:
   https://www.python.org/download/releases/3.4.0/license/
tools\chocolateyInstall.ps1
$ErrorActionPreference = 'STOP'

$toolsPath = Split-Path $MyInvocation.MyCommand.Definition

$pp = Get-PackageParameters
$twoPartVersion = $Env:ChocolateyPackageVersion -replace "^(\d+\.\d+).*", "`$1"
$defaultFolder = '{0}\Python{1}' -f $Env:SystemDrive, ($twoPartVersion -replace '\.')
if ( $pp.InstallDir ) {
  $installDir = $pp.InstallDir
  if ($installDir.StartsWith("'") -or $installDir.StartsWith('"')) { $installDir = $installDir -replace '^.|.$' }
  mkdir -force $installDir -ea 0 | out-null
}
else {
  $installDir = $defaultFolder
}

$packageArgs = @{
  packageName    = 'python3'
  fileType       = 'msi'
  file           = "$toolsPath\python-3.1.4.msi"
  file64         = "$toolsPath\python-3.1.4.amd64.msi"
  silentArgs     = '/quiet InstallAllUsers=1 PrependPath=1 TargetDir="{0}"' -f $installDir
  validExitCodes = @(0)
  softwareName   = 'Python*'
}
Install-ChocolateyInstallPackage @packageArgs
Get-ChildItem $toolsPath\*.exe | ForEach-Object { Remove-Item $_ -ea 0; if (Test-Path $_) { Set-Content "$_.ignore" '' } }

. "$toolsPath/helpers.ps1"
$installLocation = Get-AppInstallLocation python | ForEach-Object { $_.TrimEnd('\') }

if (!$installLocation) {
  Update-SessionEnvironment
  $installLocation = Get-RegistryKeyValue -key "HKLM:\SOFTWARE\Python\PythonCore\$twoPartVersion\InstallPath" -subKey "(default)" | ForEach-Object { $_.TrimEnd('\') }
}
if ($installLocation -ne $installDir) {
  Write-Warning "Provided python InstallDir was ignored by the python installer"
  Write-Warning "Its probable that you had pre-existing python installation"
  Write-Warning "Installed to: $installLocation"
}
else { Write-Host "Installed to: '$installDir'" }

if (($Env:PYTHONHOME -ne $null) -and ($Env:PYTHONHOME -ne $InstallDir)) {
  Write-Warning "Environment variable PYTHONHOME points to different version: $Env:PYTHONHOME"
}

. "$toolsPath/helpers.ps1"
Protect-InstallFolder `
  -packageName $packageArgs["packageName"] `
  -defaultInstallPath $defaultFolder `
  -folder $installLocation
tools\helpers.ps1
function Get-RegistryKeyValue {
  param(
    [string]$key,
    [string]$subKey
  )

  Get-ItemProperty -Path $key | ForEach-Object { $_."$subKey" }
}

function Get-LocalizedWellKnownPrincipalName {
  param (
    [Parameter(Mandatory = $true)]
    [Security.Principal.WellKnownSidType] $WellKnownSidType
  )
  $sid = New-Object -TypeName 'System.Security.Principal.SecurityIdentifier' -ArgumentList @($WellKnownSidType, $null)
  $account = $sid.Translate([Security.Principal.NTAccount])

  return $account.Value
}

function Protect-InstallFolder {
  param(
    [string]$packageName,
    [string]$defaultInstallPath,
    [string]$folder
  )
  Write-Debug "Ensure-Permissions"

  if ($folder.ToLower() -ne $defaultInstallPath.ToLower()) {
    Write-Warning "Installation folder is not the default. Not changing permissions. Please ensure your installation is secure."
    return
  }

  # Everything from here on out applies to the default installation folder

  if (!(Test-ProcessAdminRights)) {
    throw "Installation of $packageName to default folder requires Administrative permissions. Please run from elevated prompt."
  }

  $currentEA = $ErrorActionPreference
  $ErrorActionPreference = 'Stop'
  try {
    # get current acl
    $acl = (Get-Item $folder).GetAccessControl('Access,Owner')

    Write-Debug "Removing existing permissions."
    $acl.Access | ForEach-Object { $acl.RemoveAccessRuleAll($_) }

    $inheritanceFlags = ([Security.AccessControl.InheritanceFlags]::ContainerInherit -bor [Security.AccessControl.InheritanceFlags]::ObjectInherit)
    $propagationFlags = [Security.AccessControl.PropagationFlags]::None

    $rightsFullControl = [Security.AccessControl.FileSystemRights]::FullControl
    $rightsModify = [Security.AccessControl.FileSystemRights]::Modify
    $rightsReadExecute = [Security.AccessControl.FileSystemRights]::ReadAndExecute

    Write-Output "Restricting write permissions to Administrators"
    $builtinAdmins = Get-LocalizedWellKnownPrincipalName -WellKnownSidType ([Security.Principal.WellKnownSidType]::BuiltinAdministratorsSid)
    $adminsAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($builtinAdmins, $rightsFullControl, $inheritanceFlags, $propagationFlags, "Allow")
    $acl.SetAccessRule($adminsAccessRule)
    $localSystem = Get-LocalizedWellKnownPrincipalName -WellKnownSidType ([Security.Principal.WellKnownSidType]::LocalSystemSid)
    $localSystemAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($localSystem, $rightsFullControl, $inheritanceFlags, $propagationFlags, "Allow")
    $acl.SetAccessRule($localSystemAccessRule)
    $builtinUsers = Get-LocalizedWellKnownPrincipalName -WellKnownSidType ([Security.Principal.WellKnownSidType]::BuiltinUsersSid)
    $usersAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($builtinUsers, $rightsReadExecute, $inheritanceFlags, $propagationFlags, "Allow")
    $acl.SetAccessRule($usersAccessRule)

    $allowCurrentUser = $env:ChocolateyInstallAllowCurrentUser -eq 'true'
    if ($allowCurrentUser) {
      # get current user
      $currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()

      if ($currentUser.Name -ne $localSystem) {
        $userAccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($currentUser.Name, $rightsModify, $inheritanceFlags, $propagationFlags, "Allow")
        Write-Warning 'Adding Modify permission for current user due to $env:ChocolateyInstallAllowCurrentUser. This could lead to escalation of privilege attacks. Consider not allowing this.'
        $acl.SetAccessRule($userAccessRule)
      }
    }
    else {
      Write-Debug 'Current user no longer set due to possible escalation of privileges - set $env:ChocolateyInstallAllowCurrentUser="true" if you require this.'
    }

    Write-Debug "Set Owner to Administrators"
    $builtinAdminsSid = New-Object System.Security.Principal.SecurityIdentifier([Security.Principal.WellKnownSidType]::BuiltinAdministratorsSid, $null)
    $acl.SetOwner($builtinAdminsSid)

    Write-Debug "Default Installation folder - removing inheritance with no copy"
    $acl.SetAccessRuleProtection($true, $false)

    # enact the changes against the actual
    (Get-Item $folder).SetAccessControl($acl)
  }
  catch {
    Write-Warning "Not able to set permissions for $folder."
    Write-Warning $_
  }
  $ErrorActionPreference = $currentEA
}
tools\python-3.1.4.amd64.msi
md5: 829794FC7902880E4D55C7937C364541 | sha1: F2D0A8848E44082DA1949679A21CD979A9C55AFB | sha256: 8399353E8F1A0D83B0B04553CFD47DA02B7DC7A90D24B8ABF63BD06DAD572BC8 | sha512: D226665B7A95E132C67FEB1AB9FFBB0FE4C522A15FEE2635CF68888EE2F9470B851D39D06F4158C08C65BEB754AF93FB6C1FBBE6FFD03EB5E0B77FFC3FF20B20
tools\python-3.1.4.msi
md5: 142ACB595152B322F5341045327A42B8 | sha1: 4784861236D26252F434D93A6392E552B9546F24 | sha256: 72132B8641326BE501BCB511EEB4DB88858665DEC9A10EEDDF4EA733B8C97C4C | sha512: 2DC97B195087A07FC26E1C3F3E3291400BBBA4CC06716AF0EC9F31192BE8F134C1540ECB15B9F23B7B9615E9EFF8405F60C8A6D21C2E6B65C44CCE16487CA9D0

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Python 3.x 3.13.0-rc2 5934 Saturday, September 7, 2024 Approved
Python 3.x 3.13.0-rc1 2595 Thursday, August 1, 2024 Approved
Python 3.x 3.13.0-b4 837 Friday, July 19, 2024 Approved
Python 3.x 3.13.0-b3 1177 Sunday, June 30, 2024 Approved
Python 3.x 3.13.0-b2 954 Friday, June 7, 2024 Approved
Python 3.x 3.13.0-b1 1535 Friday, May 10, 2024 Approved
Python 3.x 3.13.0-a6 1342 Thursday, April 11, 2024 Approved
Python 3.x 3.13.0-a5 1331 Friday, March 15, 2024 Approved
Python 3.x 3.13.0-a4 1321 Saturday, February 17, 2024 Approved
Python 3.x 3.13.0-a3 1331 Saturday, January 20, 2024 Approved
Python 3.x 3.13.0-a2 2540 Friday, November 24, 2023 Approved
Python 3.x 3.13.0-a1 2510 Saturday, October 14, 2023 Approved
Python 3.x 3.12.5 386437 Wednesday, August 7, 2024 Approved
Python 3.x 3.12.4 931468 Friday, June 7, 2024 Approved
Python 3.x 3.12.3 892569 Tuesday, April 9, 2024 Approved
Python 3.x 3.12.2 926970 Wednesday, February 7, 2024 Approved
Python 3.x 3.12.1 845083 Friday, December 8, 2023 Approved
Python 3.x 3.12.0 968132 Monday, October 2, 2023 Approved
Python 3.x 3.12.0-rc3 984 Tuesday, September 19, 2023 Approved
Python 3.x 3.12.0-rc2 945 Wednesday, September 6, 2023 Approved
Python 3.x 3.12.0-rc1 2239 Sunday, August 6, 2023 Approved
Python 3.x 3.12.0-b4 1643 Wednesday, July 12, 2023 Approved
Python 3.x 3.12.0-b3 1776 Wednesday, June 21, 2023 Approved
Python 3.x 3.12.0-b2 1053 Wednesday, June 7, 2023 Approved
Python 3.x 3.12.0-b1 880 Wednesday, May 24, 2023 Approved
Python 3.x 3.12.0-a6 2904 Wednesday, March 22, 2023 Approved
Python 3.x 3.12.0-a2 10150 Thursday, November 17, 2022 Approved
Python 3.x 3.12.0-a1 2181 Tuesday, October 25, 2022 Approved
Python 3.x 3.11.9 15739 Tuesday, April 2, 2024 Approved
Python 3.x 3.11.8 4333 Wednesday, February 7, 2024 Approved
Python 3.x 3.11.7 2867 Tuesday, December 5, 2023 Approved
Python 3.x 3.11.6 11054 Monday, October 2, 2023 Approved
Python 3.x 3.11.5 564716 Thursday, August 24, 2023 Approved
Python 3.x 3.11.4 1052839 Wednesday, June 7, 2023 Approved
Python 3.x 3.11.3 896988 Wednesday, April 12, 2023 Approved
Python 3.x 3.11.2 364686 Wednesday, March 22, 2023 Approved
Python 3.x 3.11.0 2324489 Tuesday, October 25, 2022 Approved
Python 3.x 3.11.0-rc2 3475 Monday, September 12, 2022 Approved
Python 3.x 3.11.0-rc1 3068 Monday, August 8, 2022 Approved
Python 3.x 3.11.0-b5 1366 Tuesday, July 26, 2022 Approved
Python 3.x 3.11.0-b4 1582 Tuesday, July 12, 2022 Approved
Python 3.x 3.11.0-b3 2766 Wednesday, June 1, 2022 Approved
Python 3.x 3.11.0-b2 331 Tuesday, May 31, 2022 Approved
Python 3.x 3.11.0-b1 1671 Sunday, May 8, 2022 Approved
Python 3.x 3.11.0-a7 2247 Wednesday, April 6, 2022 Approved
Python 3.x 3.11.0-a6 2239 Tuesday, March 8, 2022 Approved
Python 3.x 3.11.0-a5 2324 Saturday, February 5, 2022 Approved
Python 3.x 3.11.0-a4 1340 Monday, January 17, 2022 Approved
Python 3.x 3.11.0-a3 2037 Thursday, December 9, 2021 Approved
Python 3.x 3.11.0-a2 1828 Saturday, November 6, 2021 Approved
Python 3.x 3.11.0-a1 1549 Thursday, October 7, 2021 Approved
Python 3.x 3.10.11 92859 Wednesday, April 5, 2023 Approved
Python 3.x 3.10.10 9197 Wednesday, March 22, 2023 Approved
Python 3.x 3.10.8 242160 Wednesday, October 12, 2022 Approved
Python 3.x 3.10.7 577093 Tuesday, September 6, 2022 Approved
Python 3.x 3.10.6 565145 Tuesday, August 2, 2022 Approved
Python 3.x 3.10.5 798303 Monday, June 6, 2022 Approved
Python 3.x 3.10.4 1053351 Thursday, March 24, 2022 Approved
Python 3.x 3.10.3 153811 Wednesday, March 16, 2022 Approved
Python 3.x 3.10.2 3216303 Monday, January 17, 2022 Approved
Python 3.x 3.10.1 605098 Tuesday, December 7, 2021 Approved
Python 3.x 3.10.0 1032703 Tuesday, October 5, 2021 Approved
Python 3.x 3.10.0-rc2 2139 Wednesday, September 8, 2021 Approved
Python 3.x 3.10.0-rc1 1962 Tuesday, August 3, 2021 Approved
Python 3.x 3.10.0-b4 1546 Sunday, July 11, 2021 Approved
Python 3.x 3.10.0-b3 1210 Friday, June 18, 2021 Approved
Python 3.x 3.10.0-b2 1169 Tuesday, June 1, 2021 Approved
Python 3.x 3.10.0-b1 1521 Tuesday, May 4, 2021 Approved
Python 3.x 3.10.0-a7 1714 Wednesday, April 7, 2021 Approved
Python 3.x 3.10.0-a6 1939 Tuesday, March 2, 2021 Approved
Python 3.x 3.10.0-a5 1368 Wednesday, February 3, 2021 Approved
Python 3.x 3.10.0-a4 1641 Tuesday, January 5, 2021 Approved
Python 3.x 3.10.0-a3 1190 Tuesday, December 8, 2020 Approved
Python 3.x 3.10.0-a2 1382 Tuesday, November 3, 2020 Approved
Python 3.x 3.10.0-a1 1491 Tuesday, October 6, 2020 Approved
Python 3.x 3.9.13 187984 Tuesday, May 17, 2022 Approved
Python 3.x 3.9.12 27690 Thursday, March 24, 2022 Approved
Python 3.x 3.9.11 3963 Wednesday, March 16, 2022 Approved
Python 3.x 3.9.10 11989 Monday, January 17, 2022 Approved
Python 3.x 3.9.9 12114 Tuesday, November 16, 2021 Approved
Python 3.x 3.9.8 22507 Saturday, November 6, 2021 Approved
Python 3.x 3.9.7 561784 Tuesday, August 31, 2021 Approved
Python 3.x 3.9.6 883962 Tuesday, June 29, 2021 Approved
Python 3.x 3.9.5 766010 Tuesday, May 4, 2021 Approved
Python 3.x 3.9.4 373970 Monday, April 5, 2021 Approved
Python 3.x 3.9.2 569975 Friday, February 19, 2021 Approved
Python 3.x 3.9.1 853416 Tuesday, December 8, 2020 Approved
Python 3.x 3.9.0 918821 Monday, October 5, 2020 Approved
Python 3.x 3.9.0-rc2 1220 Thursday, September 17, 2020 Approved
Python 3.x 3.9.0-rc1 1540 Wednesday, August 12, 2020 Approved
Python 3.x 3.9.0-b5 1086 Tuesday, July 21, 2020 Approved
Python 3.x 3.9.0-b4 1304 Friday, July 3, 2020 Approved
Python 3.x 3.9.0-b3 1149 Wednesday, June 10, 2020 Approved
Python 3.x 3.9.0-b2 371 Tuesday, June 9, 2020 Approved
Python 3.x 3.9.0-b1 1098 Tuesday, May 19, 2020 Approved
Python 3.x 3.9.0-a6 1006 Wednesday, April 29, 2020 Approved
Python 3.x 3.9.0-a5 1372 Tuesday, March 24, 2020 Approved
Python 3.x 3.9.0-a4 1340 Wednesday, February 26, 2020 Approved
Python 3.x 3.9.0-a3 1352 Saturday, January 25, 2020 Approved
Python 3.x 3.9.0-a2-20200110 914 Friday, January 10, 2020 Approved
Python 3.x 3.9.0-a2 853 Friday, December 20, 2019 Approved
Python 3.x 3.9.0-a1 1220 Wednesday, November 20, 2019 Approved
Python 3.x 3.8.10 104117 Monday, May 3, 2021 Approved
Python 3.x 3.8.9 30944 Friday, April 2, 2021 Approved
Python 3.x 3.8.8 30199 Friday, February 19, 2021 Approved
Python 3.x 3.8.7 8082 Tuesday, December 22, 2020 Approved
Python 3.x 3.8.6 160889 Thursday, September 24, 2020 Approved
Python 3.x 3.8.6-rc1 390 Wednesday, September 9, 2020 Approved
Python 3.x 3.8.5.20200721 658873 Tuesday, July 21, 2020 Approved
Python 3.x 3.8.5 809356 Monday, July 20, 2020 Approved
Python 3.x 3.8.4 79534 Tuesday, July 14, 2020 Approved
Python 3.x 3.8.4-rc1 402 Friday, July 3, 2020 Approved
Python 3.x 3.8.3 636051 Thursday, May 14, 2020 Approved
Python 3.x 3.8.3-rc1 713 Thursday, April 30, 2020 Approved
Python 3.x 3.8.2 558976 Wednesday, February 26, 2020 Approved
Python 3.x 3.8.1.20200110 163536 Friday, January 10, 2020 Approved
Python 3.x 3.8.1 85165 Thursday, December 19, 2019 Approved
Python 3.x 3.8.0 273289 Tuesday, October 15, 2019 Approved
Python 3.x 3.8.0-rc1 720 Friday, October 4, 2019 Approved
Python 3.x 3.8.0-b4 1702 Friday, August 30, 2019 Approved
Python 3.x 3.8.0-b3 1083 Tuesday, July 30, 2019 Approved
Python 3.x 3.8.0-b2 909 Friday, July 5, 2019 Approved
Python 3.x 3.8.0-b1 1337 Wednesday, June 5, 2019 Approved
Python 3.x 3.8.0-a4 1069 Tuesday, May 7, 2019 Approved
Python 3.x 3.8.0-a3 1113 Tuesday, March 26, 2019 Approved
Python 3.x 3.8.0-a2 1011 Tuesday, February 26, 2019 Approved
Python 3.x 3.8.0-a1 823 Friday, February 8, 2019 Approved
Python 3.x 3.7.9 167935 Tuesday, August 18, 2020 Approved
Python 3.x 3.7.8 13158 Monday, June 29, 2020 Approved
Python 3.x 3.7.7 24043 Tuesday, March 10, 2020 Approved
Python 3.x 3.7.6.20200110 9444 Friday, January 10, 2020 Approved
Python 3.x 3.7.6 350429 Friday, December 20, 2019 Approved
Python 3.x 3.7.5 73899 Thursday, October 17, 2019 Approved
Python 3.x 3.7.4 298781 Tuesday, July 9, 2019 Approved
Python 3.x 3.7.3 239813 Tuesday, March 26, 2019 Approved
Python 3.x 3.7.2 173320 Monday, December 24, 2018 Approved
Python 3.x 3.7.2-rc1 587 Wednesday, December 12, 2018 Approved
Python 3.x 3.7.1 181214 Saturday, October 20, 2018 Approved
Python 3.x 3.7.1-rc2 555 Sunday, October 14, 2018 Approved
Python 3.x 3.7.1-rc1 913 Thursday, September 27, 2018 Approved
Python 3.x 3.7.0 237148 Thursday, June 28, 2018 Approved
Python 3.x 3.7.0-rc1 730 Wednesday, June 13, 2018 Approved
Python 3.x 3.7.0-b5 725 Thursday, May 31, 2018 Approved
Python 3.x 3.7.0-b4 904 Thursday, May 3, 2018 Approved
Python 3.x 3.7.0-b3 955 Friday, March 30, 2018 Approved
Python 3.x 3.7.0-b2 922 Wednesday, February 28, 2018 Approved
Python 3.x 3.7.0-b1 899 Thursday, February 1, 2018 Approved
Python 3.x 3.7.0-a4-20180116 784 Tuesday, January 16, 2018 Approved
Python 3.x 3.7.0-a4 715 Tuesday, January 9, 2018 Approved
Python 3.x 3.7.0-a3 919 Wednesday, December 6, 2017 Approved
Python 3.x 3.7.0-a2 984 Thursday, November 9, 2017 Approved
Python 3.x 3.6.8.20200110 643 Saturday, April 3, 2021 Approved
Python 3.x 3.6.8 210994 Tuesday, December 25, 2018 Approved
Python 3.x 3.6.8-rc1 1191 Wednesday, December 12, 2018 Approved
Python 3.x 3.6.7 59749 Saturday, October 20, 2018 Approved
Python 3.x 3.6.7-rc2 505 Sunday, October 14, 2018 Approved
Python 3.x 3.6.7-rc1 449 Thursday, September 27, 2018 Approved
Python 3.x 3.6.6 84784 Thursday, June 28, 2018 Approved
Python 3.x 3.6.6-rc1 605 Wednesday, June 13, 2018 Approved
Python 3.x 3.6.5 105994 Thursday, March 29, 2018 Approved
Python 3.x 3.6.5-rc1 694 Wednesday, March 14, 2018 Approved
Python 3.x 3.6.4.20180116 42687 Tuesday, January 16, 2018 Approved
Python 3.x 3.6.4 21752 Tuesday, December 19, 2017 Approved
Python 3.x 3.6.4-rc1 669 Wednesday, December 6, 2017 Approved
Python 3.x 3.6.3 221994 Wednesday, October 4, 2017 Approved
Python 3.x 3.6.2 34425 Monday, July 17, 2017 Approved
Python 3.x 3.6.1 33946 Wednesday, March 22, 2017 Approved
Python 3.x 3.6.0 38909 Friday, December 23, 2016 Approved
Python 3.x 3.5.4.20200110 2665 Friday, January 10, 2020 Approved
Python 3.x 3.5.4 44632 Thursday, November 9, 2017 Approved
Python 3.x 3.5.2.20161029 25639 Saturday, October 29, 2016 Approved
Python 3.x 3.5.2 6677 Tuesday, October 4, 2016 Approved
Python 3.x 3.5.1.20161002 13962 Sunday, October 2, 2016 Approved
Python 3.x 3.5.1 33504 Monday, December 7, 2015 Approved
Python 3.x 3.5.0.20151010 6048 Saturday, October 10, 2015 Approved
Python 3.x 3.5.0 1378 Saturday, October 10, 2015 Approved
Python 3.x 3.4.4.20200110 3085 Friday, January 10, 2020 Approved
Python 3.x 3.4.4.20180111 8748 Thursday, January 11, 2018 Approved
Python 3.x 3.4.4 2430 Thursday, November 9, 2017 Approved
Python 3.x 3.4.3.20150501 5678 Friday, May 1, 2015 Approved
Python 3.x 3.4.3 2163 Wednesday, February 25, 2015 Approved
Python 3.x 3.4.2 2400 Wednesday, October 8, 2014 Approved
Python 3.x 3.4.1.20141004 713 Saturday, October 4, 2014 Approved
Python 3.x 3.4.1.20140610 1671 Tuesday, June 10, 2014 Approved
Python 3.x 3.4.1.20140608 805 Saturday, June 7, 2014 Approved
Python 3.x 3.4.1.20140607 704 Saturday, June 7, 2014 Approved
Python 3.x 3.4.1 1274 Tuesday, May 20, 2014 Approved
Python 3.x 3.4.0.20140512 781 Monday, May 12, 2014 Approved
Python 3.4.0 1200 Monday, March 17, 2014 Approved
Python 3.3.5 1489 Sunday, March 9, 2014 Approved
Python 3.x 3.3.4 1188 Thursday, November 9, 2017 Approved
Python 3 3.3.3 1440 Sunday, November 24, 2013 Approved
Python 3 3.3.2 1225 Saturday, June 15, 2013 Approved
Python 3.x 3.2.5.20200110 391 Friday, January 10, 2020 Approved
Python 3.x 3.2.5 686 Thursday, November 9, 2017 Approved
Python 3.x 3.1.4.20200110 381 Friday, January 10, 2020 Approved
Python 3.x 3.1.4 645 Thursday, November 9, 2017 Approved
Python 3.x 3.0.1.20200110 463 Friday, January 10, 2020 Approved
Python 3.x 3.0.1 798 Thursday, November 9, 2017 Approved

Discussion for the Python 3.x Package

Ground Rules:

  • This discussion is only about Python 3.x and the Python 3.x package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Python 3.x, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus