-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Connector development on Windows #13674
Comments
@LarsHanegraaf Thanks for this little writeup. I've been struggling to find information on how to develop your own connector whilst using windows. This has been very helpful and I would agree with you, that there could be more information on how to use windows! :D |
@Amruta-Ranade + @arimbr maybe something we can bring to content team to work on? |
@LarsHanegraaf thanks for the suggestion probably this will help a large number of users of Airbyte. |
@djongeb I was wondering if you ever found clearer documentation / guides for Windows? I am struggling to execute several of the Linux commands and had to add the source manually for example. |
@LarsHanegraaf belated thank you for the writeup, it's excellent. I agree the docs are very scattered — working on them more now. I'll keep the issue open to track any Windows-related questions. Windows workflow is not necessarily a priority right away. If anyone recently made basic workflows work on Windows, and you had to tweak any tests to do that (they changed since 2022 very significantly) — contributions are very welcome. |
At Airbyte, we seek to be clear about the project priorities and roadmap. This issue has not had any activity for 180 days, suggesting that it's not as critical as others. It's possible it has already been fixed. It is being marked as stale and will be closed in 20 days if there is no activity. To keep it open, please comment to let us know why it is important to you and if it is still reproducible on recent versions of Airbyte. |
This issue was closed because it has been inactive for 20 days since being marked as stale. |
Update the documentation to make development of connectors on Windows easier
Hi team,
First of all, credits to where the Airbyte product is so far! 🎉
This week I went through the process of creating an Airbyte Source connector on a Windows PC (It's what our company works with 😉). I would like to report the things I have found and how the process could be improved for other people who go through a similar workflow. I'm willing to submit PRs for the documentation and Airbyte itself, but as it is the first time I contribute to an open-source project, I need some guidance on whether it will be helpful for Airbyte or not. Thanks!
Things I've found:
1. Documentation about developing a Python Source is complete, but scattered
The documentation to develop a Python Source is complete, but as there are multiple pages with different approaches, it can be confusing for a newcomer (at least within my team). I know that the process around building a connector is evolving, but I think more consistency would help to improve the Developer Experience.
Examples that could use more consistency:
2. Code generation scripts are tailored towards Unix
All scripts for generating Python boilerplate code are heavily geared towards Unix. I can reverse engineer the proposed working of a Bash script myself, so I can run it in Powershell or CMD, but maybe the process could be changed so it works for all platforms (or add steps to the documentation, I'm not sure what has priority in your opnion)
The steps I have taken to make it work:
npm install
andnpm run generate
(Docker will also be possible, using the command ingenerate.sh
, but this one is easier for me)python -m venv .venv
.venv/Scripts/activate
to activate the virtual environment.python -m pip install -r requirements.txt
source-acceptance-test
plugin by navigating to this folder with the virtual environment still activated and runpython setup.py install
pip install '.[tests]'
3. Bugs in
source-acceptance-test
Pytest plugin when running on WindowsWhen you want to run the source acceptance tests on Windows, I was only able to get it working within the virtual environment (not in Docker, but unsure why).
In order to make the tests work in the virtual environment, I had to change to following things:
streams_without_records = streams_without_records - set(allowed_empty_streams)
run(["mkdir", "-p", LOG_DIR], shell=True)
.pip uninstall pytest-sugar
)It has become a bit longer than expected 😛 . So if I need to split it into multiple issues, just let me know!
Thanks!
The text was updated successfully, but these errors were encountered: