Skip to content
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

Collaboration with IfcOpenShell's BCF lib? #3

Open
Moult opened this issue Aug 24, 2021 · 4 comments
Open

Collaboration with IfcOpenShell's BCF lib? #3

Moult opened this issue Aug 24, 2021 · 4 comments

Comments

@Moult
Copy link

Moult commented Aug 24, 2021

Hey there! Just wondering if you know about https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0/src/bcf and https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0/src/foundationserver and whether we could collaborate somehow? There seems to be some duplication of effort.

@Amoki
Copy link
Member

Amoki commented Aug 25, 2021

Sure!
The purpose of this lib is to import BCF-xml files into a BCF-server storing data in the BCF-API format and to export files from it.
If I understand well, the IfcOpenShell bcf lib is a tool to read BCF-xml files and a BCF-API client.

We use it in our own BCF-server implementation to add import/export, an equivalent of foundationserver but coded in Django. It generates an Open API file (https://api.bimdata.io/doc/bcf) used by https://github.com/OpenAPITools/openapi-generator to generate an API client.

We could open source (LGPL license) a Django app using our BCF-server implementation as well, which have more feature than Flask (backoffice, integrated migrations, and possible libs for authentication/Odata filters), why not directly on the IfcOpenShell github org.

What do you have in mind?

@Moult
Copy link
Author

Moult commented Aug 30, 2021

Ah I missed this reply. Yes I guess this repo is less to do with BCF and more to do with OpenCDE data massaging if I understand it right. If so, yes indeed open sourcing the OpenCDE server which is more fully featured would be a great idea!

@aothms
Copy link

aothms commented Aug 30, 2021

+1 on django being nice in the sense that you get the admin module for easy crud tasks for free. Let me know if I need to create a repo for something.

@Amoki
Copy link
Member

Amoki commented Aug 31, 2021

What I have in mind:

  • A low-level BCF python lib: read/write BCF-xml files and a BCF client
  • A Django lib, including a BCF API and import/export modules using the above python lib
  • A Django app, using the Django lib, instancing a standalone BCF API.

BlenderBIM would use the low-level lib, dev already using Django just wanting to add a BCF API to their app (at least BIMData.io) would use the Django lib and devs who want to have a standalone BCF API would use the Django app.

The low-level python lib should have its own repo, its own CI cycle, and pypi release.
The Django stuff would be in another repo. The lib will be released on pypi and we could build a docker image to run the Django app more easily.

Timing speaking, we plan to do this in october

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants