Skip to main content
Question

Problems Running Cognite NEAT

  • December 4, 2024
  • 6 replies
  • 64 views

I’m having some problems running Cognite Neat. I have been able to run Cognite Neat from the latest code in the following environments:

  • In a container app service in Azure
  • In a container on my local computer
  • From the source in a WSL Ubuntu instance (after jumping through many hoops)
  • Can run CDF Client and NEAT methods in a local Jupyter Notebook

In any of these environments, these are the issues I’m encountering after playing with it for almost a week:

  • I can download spreadsheets from a Cognite Data Model and look at them (front-end or Python).
  • I found spreadsheets in the documentation do not validate or upload. I had to get spreadsheets from the unit tests folder to get something to work.
  • Any spreadsheet I download from a CDF data model cannot be re-uploaded. (AttributeError: 'DataModelLoaderAPI' object has no attribute 'datamodels')
  • I am getting random Python errors when using the NEAT front end or using Python in a Jupyter Notebook (I can expand on these if needed), but these are sample commands I found in the documentation. Things like missing methods or the latest code uses a different method, missing attributes or items in dictionary objects, etc.

I’m just wondering if this is not production ready or am I just running the wrong version or looking at the wrong version of the documentation? I’ve looked at both the stable and latest documentation and I’ve had similar results with either.

Here is the documentation link I’m using (with a toggle between stable/latest): NEAT

Here’s the code I’m running: cognitedata/neat

Thanks!

6 replies

Nikola  Vasiljevic
Practitioner

@Henry Lafleur thanks for trying neat, though at very “unstable” period :) due to following:

  • we are refactoring neat and integrating it in CDF
  • we are removing UI and internal workflows due the above
  • there will be no longer docker image available
  • potentially some parts of docs could be out of sync due to the above (we will flag docs so ppl are aware)
  • we introduce new interface to interact with neat called NeatSession, and for NeatSession our aim is that you should never experience traceback errors but NeatSessionErrors which are informative and guide you in fixing encountered issues

 

When you say you are using neat in python, are you using it through NeatSession ? or you are using private methods ? If you can send us code snippet we can help you debug issues.  


Nikola  Vasiljevic
Practitioner

Latest version of neat is v0.100.0


Anders  Albert
Seasoned Practitioner
Forum|alt.badge.img
  • Seasoned Practitioner
  • 111 replies
  • December 5, 2024

@Henry Lafleur We would like to learn more about how you use Neat. Could we schedule a with you to learn more?


Thanks ​@Nikola Vasiljevic

I was just following this tutorial in the documentation that gives the Python commands:
Extending Data Model - NEAT

I was just running the code on that page and then trying it with my own data model (exporting to Excel the importing). Neither worked. I looked at the source code to see how to change the commands and then used the correct methods which got me a little further.

I also tried the Asset tutorial, which threw a few errors (ex. neat.read.cdf.classic.assets() didn’t exist and I had to use neat.read.cdf.classic.graph()

I’ll just use the CDF APIs and SDKs for the data model. We are not trying to do anything that largescale at this point.

 


Nikola  Vasiljevic
Practitioner

@Henry Lafleur , that is substational number of issues you ran into, yet again reason for jumping on call and seeing what went sideways. We tested all the notebooks and tutorials with various users and have not bump into issues.

If you are using neat through NeatSession, errors that neat reports would indicate what went wrong. We build it in the way that surface good errors and not python traceback.


Nikola  Vasiljevic
Practitioner

 neat.read.cdf.classic.assets() does not exist that is correct

What we call Classic Graph is the old Asset centric data model in CDF, which entails:
- assets
- events
- files
- ..

 

As the above resources are interconnected, we provide single method (neat.read.cdf.classic.graph()) to extract the entire classic graph, otherwise you will end up with incomplete graph if you only read in assets. Under the hood we do extract resource by resource, but we do not intend to provide that level or granularity to end user to high chance of deriving incomplete graph.
 


Reply


Cookie Policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie Settings