Kubica made a comeback to F1 racing this year, eight years on from his horror rally crash, having served as a reserve driver for Williams in 2018.
Kubica said that the decision was his own.
“I always said that I took a lot energy, a lot of time for me to recover and come back to the sport and join back in F1, but I would like to stay,” reflected the 34-year-old.
“I said this year would be the goal to remain in F1. Of course my answer would be yes but not for every cost.
“I think I have to first of all do what will bring me back a bit of joy in racing, of course this season has been very tough from a performance point of view but it has also been very demanding being back in F1 after a long time.
“It's not easy, especially when we are in the difficult situation we are in but nevertheless I have to thank the team for the opportunity and we will see what the future will bring.”
Claire Williams, deputy team principal, said in a statement from Williams Racing: “I would like to thank Robert for his hard work and respect his decision to leave the team at the end of the 2019 season.
“Robert has been an important member of the team in both his role as Reserve & Development Driver, and subsequently as one of our Race Drivers in 2019.
“We thank him for his continued efforts throughout what has been a challenging couple of seasons and wish him well in his future endeavours.”
There is no word on who will take Kubica's seat in 2020, although Nico Hulkenberg is theoretically still available after Haas opted to re-sign Romain Grosjean, while Williams has been fielding Nicholas Latifi in selected practice sessions this year.
Kubica said of his own future, “Regarding a simulator role, I don't want to go too much into the details but as I said I will evaluate different opportunities.
“I will be very surprised if I will be doing only simulator and will be very surprised if I am not racing next year.”
Practice for the Singapore Grand Prix starts today at 1830 AEST.