[
https://issues.apache.org/jira/browse/AVRO-659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907296#action_12907296
]
Jeff Hammerbacher commented on AVRO-659:
----------------------------------------
Doug: yeah, we're talking past one another. Philip is onto what I'm talking
about.
Philip: your code assumes that the myschema.avsc file lives at
{{os.path.dirname(__path__)}}; I'm arguing that this location should be
replaced by a list of locations to be searched, in the same way that PATH,
PYTHONPATH, CLASSPATH, and friends work.
Users have had issues when moving their code from one machine to the other
because the packaging and versioning of the schema file may happen separately
from the packaging and versioning of the code, so that, when the code is ported
to another system, the schema file may be located somewhere crazy (e.g. on a
shared file system under a well-known path).
> Portable specification of the location of schema and protocol files
> -------------------------------------------------------------------
>
> Key: AVRO-659
> URL: https://issues.apache.org/jira/browse/AVRO-659
> Project: Avro
> Issue Type: New Feature
> Reporter: Jeff Hammerbacher
>
> Avro doesn't require code generation, which is great. However, if you want to
> use a protocol or a schema, your code needs to know where to find it. When
> your code is ported to new systems, the protocol or schema file must be
> placed in the same place as on the previous system for things to work
> correctly.
> For importing modules in a portable fashion, Python provides a default set of
> places it will look for modules and an environment variable called PYTHONPATH
> that programs can use to override these defaults. It may be useful to explore
> similar constructs for Avro implementations that don't do code generation.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.