Version 2.1.0
Finally, a new PyPI release in a rather long while. Thanks @Tarrasch and @erikbern, and all the contributors!
Added
luigi:
- Notifications: more emails and proper coloring (#1471), improved SMTP handling
EnumParameter
(#1479),DictParameter
(#1574)- Support for Python 3.5 (#1494)
- Process locking on Alpine Linux (#1530) and Windows (#1557)
- Visualizer: resources tab (#1566), GUI functionality to disable a worker (#1564)
luigi.contrib:
ExternalBigqueryTask
(#1434),BigqueryCreateViewTask
(#1465)- Luigi tasks for Dataproc, Google's managed Hadoop MapReduce, Spark, Pig, and Hive service (#1601)
ExternalProgramTask
,ExternalPythonProgramTask
- commonalities for running any external application or script (#1520)- Support for SFTP (#1585)
- Sped-up Hive client using Metastore (#1533)
OpenerTarget
, a single Luigi target to open multiple file system types (#1555)Query
base task (giving rise also toluigi.contrib.redshift.RedshiftQuery
andluigi.postgres.PostgresQuery
) (#1493)RedshiftUnloadTask
(#1527)UploadToSalesforceTask
(#1404)- Support for S3 assumed role (#1596)
Changed
luigi:
- Semi-opaque, hashed
task_id
(as opposed toTaskName(param1=value1, param2=foo bar)
) (#1444) - More explicit way to handle timelike parameters (
date
vsdatetime
) (#1473) - Optimizations in scheduler algorithm
Removed
luigi:
- Old deprecated (2014) stuff around scheduler and its state (#1592)
luigi.contrib:
- Deprecated classes
SparkJob
,Spark1xBackwardCompat
,Spark1xJob
,PySpark1xJob
(#1442)
Fixed
luigi.contrib:
- Ensure that FTP
RemoteTarget
successfully creates temporary files (meaning, in a directory relative to output) (#1515) - Remove superfluous
init_mapper()
/init_reducer()
calls inLocalJobRunner
(#1475) - Humanly format
HadoopJobError
(#1528) - Broken Redshift table creation (#1453)
- Improved Salesforce reliability (#1597, #1600)
- Missing call to
post_copy()
(#1502)
...and a slew of other additions, fixes, improvements and documentation.