[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993545#comment-16993545 ] Ryan Skraba commented on AVRO-831: -- Thanks so much [~kojiromike]. I wanted to point out a super side effect of this work: the {{lang/py}} avro module can be imported into intellij (also probably PyCharm) via "Create project from an existing source" without any extra steps. In the past, I had to fiddle with some module settings, so this is pretty nice! > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Fix For: 1.10.0 > > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993090#comment-16993090 ] Hudson commented on AVRO-831: - SUCCESS: Integrated in Jenkins build AvroJava #785 (See [https://builds.apache.org/job/AvroJava/785/]) AVRO-831 Refactor lang/py setup and test structure (#733) (github: [https://github.com/apache/avro/commit/9ab19ee49678e930beeb05d2f1c7fedbd663223d]) * (delete) lang/py/lib/pyAntTasks-1.3-LICENSE.txt * (delete) lang/py/src/avro/protocol.py * (delete) lang/py/test/test_datafile_interop.py * (delete) lang/py/test/test_tether_word_count.py * (edit) lang/py/.gitignore * (add) lang/py/avro/NOTICE * (delete) lang/py/src/avro/tether/util.py * (delete) lang/py/test/word_count_task.py * (add) lang/py/avro/tether/tether_task_runner.py * (delete) lang/py/test/sample_http_server.py * (edit) lang/py/scripts/avro * (delete) lang/py/src/avro/timezones.py * (add) lang/py/avro/test/mock_tether_parent.py * (edit) build.sh * (delete) lang/py/test/test_datafile.py * (edit) lang/py/setup.py * (add) lang/py/avro/test/sample_http_client.py * (add) lang/py/avro/schema.py * (add) lang/py/avro/test/test_schema.py * (delete) lang/py/test/txsample_http_client.py * (delete) lang/py/test/test_io.py * (delete) lang/py/test/mock_tether_parent.py * (delete) lang/py/src/avro/schema.py * (delete) lang/py/test/txsample_http_server.py * (delete) lang/py/src/avro/tether/tether_task_runner.py * (add) lang/py/avro/constants.py * (add) lang/py/avro/test/txsample_http_client.py * (add) lang/py/avro/test/sample_http_server.py * (add) lang/py/avro/timezones.py * (delete) lang/py/src/avro/LICENSE * (edit) lang/py/build.sh * (add) lang/py/avro/tool.py * (delete) lang/py/test/test_tether_task_runner.py * (delete) lang/py/test/sample_http_client.py * (delete) lang/py/test/test_protocol.py * (edit) share/test/interop/bin/test_rpc_interop.sh * (delete) lang/py/test/__init__.py * (delete) lang/py/ivy.xml * (add) lang/py/avro/io.py * (edit) doc/src/content/xdocs/gettingstartedpython.xml * (delete) lang/py/src/avro/datafile.py * (delete) lang/py/src/avro/ipc.py * (add) lang/py/avro/txipc.py * (edit) lang/py/setup.cfg * (delete) lang/py/src/avro/tool.py * (delete) lang/py/test/test_script.py * (add) lang/py/avro/tether/tether_task.py * (delete) lang/py/src/avro/io.py * (delete) lang/py/lib/pyAntTasks-1.3.jar * (delete) lang/py/src/avro/__init__.py * (add) lang/py/avro/test/test_datafile.py * (add) lang/py/avro/test/word_count_task.py * (delete) lang/py/src/avro/tether/tether_task.py * (delete) lang/py/test/test_ipc.py * (add) lang/py/avro/LICENSE * (add) lang/py/avro/datafile.py * (delete) lang/py/test/set_avro_test_path.py * (delete) lang/py/ivysettings.xml * (add) lang/py/avro/protocol.py * (delete) lang/py/test/test_schema.py * (add) lang/py/avro/test/test_protocol.py * (add) lang/py/avro/ipc.py * (add) lang/py/avro/test/test_datafile_interop.py * (delete) lang/py/src/avro/tether/__init__.py * (add) lang/py/avro/test/test_ipc.py * (add) lang/py/avro/test/test_io.py * (delete) lang/py/test/gen_interop_data.py * (delete) lang/py/src/avro/txipc.py * (add) lang/py/avro/test/__init__.py * (add) lang/py/avro/test/test_tether_task_runner.py * (add) lang/py/avro/test/test_script.py * (add) lang/py/avro/test/gen_interop_data.py * (add) lang/py/avro/test/txsample_http_server.py * (delete) lang/py/src/avro/constants.py * (add) lang/py/avro/tether/__init__.py * (add) lang/py/avro/tether/util.py * (add) lang/py/avro/test/test_tether_word_count.py * (add) lang/py/avro/test/av_bench.py * (delete) lang/py/test/av_bench.py * (add) lang/py/avro/__init__.py * (add) lang/py/avro/test/test_tether_task.py * (delete) lang/py/src/avro/NOTICE * (delete) lang/py/test/test_tether_task.py > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Fix For: 1.10.0 > > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993069#comment-16993069 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993078#comment-16993078 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993073#comment-16993073 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993067#comment-16993067 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993074#comment-16993074 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993076#comment-16993076 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993066#comment-16993066 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993065#comment-16993065 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993068#comment-16993068 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993077#comment-16993077 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993071#comment-16993071 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993079#comment-16993079 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993072#comment-16993072 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16993075#comment-16993075 ] ASF subversion and git services commented on AVRO-831: -- Commit 9ab19ee49678e930beeb05d2f1c7fedbd663223d in avro's branch refs/heads/master from Michael A. Smith [ https://gitbox.apache.org/repos/asf?p=avro.git;h=9ab19ee ] AVRO-831 Refactor lang/py setup and test structure (#733) * AVRO-831: Pythonic Build * AVRO-831: Rework lang/py Setup Decouple python setup from ant and enable tests to run without it. * AVRO-831: Run Tests Normally * AVRO-831: Skip Java Tether if No JDK Make it easier to test on systems without Java * AVRO-831: Modern Exception Syntax * AVRO-831: Exterminate Ants * AVRO-831: Found One More Ant * AVRO-831: Remove pdb * AVRO-831: iSort Order * AVRO-831: Rename Build Subcommand * AVRO-831: Correct PYTHONPATH in Interop Tests * AVRO-831: Skip Test if JAR Not Found * AVRO-831: Set Package Version Correctly Fixes an error where the package metadata version is not used, causing setuptools to ignore it. Co-Authored-By: RyanSkraba * AVRO-831: Ignore More Files Created by Setup Adds additional files that are created during setup to .gitignore because they are generated and should not be in version control. * AVRO-831: Clean Directly from build.sh Python packaging is [moving away from embedding commands in setup.py][1]. It is difficult to maintain external commands in Python this way. Managing the dependencies needed to run commands from within setup.py is gnarly, because dependencies cannot be resolved so early. Furthermore, it's difficult to test code that happens at the point at which tests themselves are triggered, so that code needs to be very simple. A shell script is simple and more appropriate for this use case. At another time we should look to extract the lint command as well. [1][https://github.com/pypa/setuptools/issues/931] > Enhance the Python `distutils` control file `setup.py` to build Avro/Python > without a pre-processing step. > -- > > Key: AVRO-831 > URL: https://issues.apache.org/jira/browse/AVRO-831 > Project: Apache Avro > Issue Type: Improvement > Components: python > Environment: Operating environments supporting the Python programming > language. >Reporter: Joseph Koshy >Assignee: Michael A. Smith >Priority: Major > Labels: build, python > Attachments: setup.patch > > Original Estimate: 4h > Remaining Estimate: 4h > > Avro's build process for its Python bindings currently needs a set of > pre-processing steps that need to be executed before the build proper is > started. These pre-processing steps are executed by {{ant}}. > The attached patch folds these pre-processing steps into the {{setup.py}} > control script that is input to Python's {{distutils}} build tool kit. This > eliminates the dependency on {{ant}}. > In the patch: > * Source files that need keyword expansion are renamed to use a {{.in}} > extension. The build process will generate the appropriately transformed > {{.py}} files from these {{.in}} files. > * {{setup.py}} supports a new command {{make_interop_data}}, used to generate > test data for use with interoperability test code. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (AVRO-831) Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step.
[ https://issues.apache.org/jira/browse/AVRO-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13207213#comment-13207213 ] Bo Shi commented on AVRO-831: - Patch still seems to have some extra bits. Enhance the Python `distutils` control file `setup.py` to build Avro/Python without a pre-processing step. -- Key: AVRO-831 URL: https://issues.apache.org/jira/browse/AVRO-831 Project: Avro Issue Type: Improvement Components: python Environment: Operating environments supporting the Python programming language. Reporter: Joseph Koshy Assignee: Joseph Koshy Labels: build, python Fix For: 1.7.0 Attachments: setup.patch Original Estimate: 4h Remaining Estimate: 4h Avro's build process for its Python bindings currently needs a set of pre-processing steps that need to be executed before the build proper is started. These pre-processing steps are executed by {{ant}}. The attached patch folds these pre-processing steps into the {{setup.py}} control script that is input to Python's {{distutils}} build tool kit. This eliminates the dependency on {{ant}}. In the patch: * Source files that need keyword expansion are renamed to use a {{.in}} extension. The build process will generate the appropriately transformed {{.py}} files from these {{.in}} files. * {{setup.py}} supports a new command {{make_interop_data}}, used to generate test data for use with interoperability test code. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira